Browse Source
From the go source code on potential conflicts in IP Addressing schemes: https://cs.opensource.google/go/go/+/master:src/net/rawconn_unix_test.go // There's no guarantee that IP-level socket // options work well with dual stack sockets. // A simple solution would be to take a look // at the bound address to the raw connection // and to classify the address family of the // underlying socket by the bound address: // // - When IP.To16() != nil and IP.To4() == nil, // we can assume that the raw connection // consists of an IPv6 socket using only // IPv6 addresses. // // - When IP.To16() == nil and IP.To4() != nil, // the raw connection consists of an IPv4 // socket using only IPv4 addresses. // // - Otherwise, the raw connection is a dual // stack socket, an IPv6 socket using IPv6 // addresses including IPv4-mapped or // IPv4-embedded IPv6 addresses.pull/5150/head
vivekkoya
12 months ago
committed by
GitHub
1 changed files with 3 additions and 13 deletions
Loading…
Reference in new issue