Many changes in I/O and OSPF sockets and packet handling.
I/O: - BSD: specify src addr on IP sockets by IP_HDRINCL - BSD: specify src addr on UDP sockets by IP_SENDSRCADDR - Linux: specify src addr on IP/UDP sockets by IP_PKTINFO - IPv6: specify src addr on IP/UDP sockets by IPV6_PKTINFO...
Fixes problem with RIP on multiple ifaces on BSD.
RIP sockets for multiple ifaces collided, because we cannot bind toa specific iface on BSD. Workarounded by SO_REUSEPORT.
Thanks to Eugene M. Zheganin for the bugreport.
Implements multiple routing table support for FreeBSD and OpenBSD.
Inspired by the patch from Alexander V. Chernikov.
Cleanup in sysdep KRT code, part 2.
Remove support for historic Linux kernels,merge krt-iface, krt-set and krt-scan stub headers.
Many changes in (mainly) kernel syncers.
- BSD kernel syncer is now self-conscious and can learn alien routes- important bugfix in BSD kernel syncer (crash after protocol restart)- many minor changes and bugfixes in kernel syncers and neighbor cache- direct protocol does not generate host and link local routes...
CONFIG_SKIP_MC_BIND added.BSD hates it, Linux needs it.
#ifdef CONFIG_UNIX_DONTROUTE added.
*BSD port added. (Tested on FreeBSD and NetBSD)