Reputation: 1964
I'm attempting to get IPv6 working with Golang net.Listen() however I keep getting the following error:
listen tcp [xxxx::xxx:xxxx:fe4f:7e0b]:9443: bind: invalid argument
Code:
s.Listener, err = net.Listen("tcp", config.LocalNode().IP+":"+config.LocalNode().Port)
Any ideas why I'm running into this problem? IPv4 seems to work np
Upvotes: 4
Views: 4416
Reputation: 109426
Attempting to bind a link-scoped ipv6 address without a proper scope will result in this error from the operating system. If you actually want a link-scoped address, you have to provide the proper scope id, e.g.
"[fe80::4c3:3cff:fe4f:7e0b%eth0]:9443"
Otherwise you need to use a valid globally scoped ipv6 address.
"[2600:1f18:63ef:e802:355f:aede:dbba:2c03]:9443"
Upvotes: 8