We use inany addresses, which can represent either an IPv4 or IPv6 address heavily through the flow table. However, for the configuration of port forwarding: both the command line parsing and initialization of listening sockets, we use address family+(void *) pairs instead. Using inany through these paths makes them slightly neater now, but more importantly will make it easier to add more robust tracking of forwarding configuration. David Gibson (4): udp: Don't attempt to get dual-stack sockets in nonsensical cases util, pif: Replace sock_l4() with pif_sock_l4() tcp, udp: Make {tcp,udp}_sock_init() take an inany address inany: Add inany_pton() helper conf.c | 23 ++++++++--------------- inany.c | 20 ++++++++++++++++++++ inany.h | 1 + pif.c | 42 ++++++++++++++++++++++++++++++++++++++++++ pif.h | 3 +++ tcp.c | 45 +++++++++++++++++++++++---------------------- tcp.h | 2 +- udp.c | 50 ++++++++++++++++++++++---------------------------- udp.h | 4 ++-- util.c | 52 ---------------------------------------------------- util.h | 3 --- 11 files changed, 122 insertions(+), 123 deletions(-) -- 2.46.1