code: func (tx *Transaction) GetAddresses() ([]string, error) {
  	out, err := tx.exec(append([]string{"addr", "show", "dev", tx.link}))
  	if err != nil {
  		return nil, err
  	}
  
  	matches := addressRegexp.FindAllStringSubmatch(out, -1)
  	addrs := make([]string, len(matches))
  	for i, match := range matches {
  		addrs[i] = match[1]
  	}
  	return addrs, nil
  }
docs: // GetAddresses returns the IPv4 addresses associated with the interface. Since
  // this function has a return value, it also returns an error immediately if an
  // error occurs.