code: func (o *IPOpt) Set(val string) error {
  	ip := net.ParseIP(val)
  	if ip == nil {
  		return fmt.Errorf("%s is not an ip address", val)
  	}
  	*o.IP = ip
  	return nil
  }
docs: // Set sets an IPv4 or IPv6 address from a given string. If the given
  // string is not parsable as an IP address it returns an error.