vflow
vflow copied to clipboard
ipfix multicast join - setsockopt: invalid argument
This one has been plaguing me for a while. On both Solaris (joyent) and MacOSX (high sierra), vflow fails to start unless you disable ipfix. It works fine on Linux. The error message is just "setsockopt: invalid argument".
The particular setsockopt is a MCAST_JOIN_GROUP called in ipfix/memcache_rpc.go:Discovery.mConn() at the JoinGroup()..
After a bit of fiddling, I reckon it's related to the blank address in addr := net.JoinHostPort("", strconv.Itoa(d.port))
If you replace:
- addr := net.JoinHostPort("", strconv.Itoa(d.port))
+ addr := net.JoinHostPort(d.group.String(), strconv.Itoa(d.port))
it seems to work but, given I've never seen a go program before I wouldn't trust my suggestion too far.
Any thoughts on what's really wrong here?