With IPv4 I can bind() to a specific address to select the interface that will be used to receive the packets (and in some case, also to send, but that's not the point).
On a dual stack IPv6/IPV4 machine I have this problem: I can create a 6 socket and use it to receive 4 traffic, but if I want to bind to a specific interface, I have to choose an IP address to bind to.
If I bind to an IPv6 address, I'll filter out all the IPv4 traffic and vice versa.
How can I receive both IPv4 and IPv6 traffic from a specific interface?