Merge branch 'master' into add-path
Changes primary addr selection on BSD to respect SIOCGIFADDR ioctl() result.
Thanks to Alexander V. Chernikov for the original patch.
filter/filter.c nest/proto.c nest/rt-table.c proto/bgp/bgp.h proto/bgp/config.Y
Fixes an issue when opposite address is mistaken for broadcast on ptp ifaces on BSDs.
Thanks to Lex van Roon for the bugreport and to Alexander V. Chernikovfor examining it and locating the problem.
Allows other than IA_PEER addresses on PtP ifaces on BSD.
Also fixes a potential problem with link-local dest_addrsfor IA_PEER addresses.
Thanks to Alexander V. Chernikov for the suggestion.
Implements multiple routing table support for FreeBSD and OpenBSD.
Inspired by the patch from Alexander V. Chernikov.
Makes krt.c much more readable.
Implements ADD-PATH extension for BGP.
Allows to send and receive multiple routes for one network by one BGPsession. Also contains necessary core changes to support this (routingtables accepting several routes for one network from one protocol).It needs some more cleanup before merging to the master branch.
Cleanup in sysdep KRT code, part 3.
Just one more renaming, old krt_set_notify() to krt_replace_rte().
Cleanup in sysdep KRT code, part 1.
OS-dependent functions renamed to be more consistent,prepared to merge krt-set and krt-scan headers.
struct krt_if_params -> struct kif_paramsstruct krt_if_status -> struct kif_statusstruct krt_set/scan_params -> struct krt_params...
Fixes several minor bugs in kernel syncer.
Adds krt_source route attribute.
Thanks Jeremie Dimino for the original patch.
Implements handling of BSD iface arrival/departure notifications.
Thanks to Alexander V. Chernikov for original patch.
Fixes problems with creating/removing/renaming ifaces on BSD.
Fixes a bug in BSD iface scan.
if_update() should be called always, because periodic iface scan coderemoves all not-updated ifaces.
Some minor fixes.
Fix for IPv6 addresses on non-multiaccess ifaces on BSD.
Thanks Matthias Schiffer for the patch.
Extend the error message.
Signal problems with route installation to kernel tables.
A minor fix in BSD.
Fixes crash on BSD.
Fixes KRT sync in BSD.
When buffer is too small (because of change between sysctls()),needed is not changed.
Minor changes in addresses.
Mainly changes IA_UNNUMBERED to IA_PEER and adds IA_HOST. Also do notshow broadcast addr in show interfaces. Nobody cares for that.
Some cleanups in krt_read_ifinfo().
Fixes interface names on BSD systems.
Implements link state detection.
Also changes some symbol names (IFF_ADMIN_DOWN -> IFF_SHUTDOWN,IFF_LINK_UP -> IFF_ADMIN_UP).
Implements hostcache and recursive next hops.
Hostcache is a structure for monitoring changes in a routing table thatis used for routes with dynamic/recursive next hops. This is needed forproper iBGP next hop handling.
Better support for /31 networks.
Ignore routes with next-hop 127.0.0.1 on BSD.
On BSD, consider unmarked non-device routes as alien.
Restrict export of device routes to the kernel protocol.
In usual configuration, such export is already restrictedwith the aid of the direct protocol but there are someraces that can circumvent it. This makes it harder tobreak kernel device routes. Also adds an option to...
Ignore some kernel messages.
Fixes related to routes with link-local gw on BSD.
Fixes link-local addresses on BSD.
Adds support for PTP links on BSD.
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...
RTF_CLONING is removed in FreeBSD 8.
Fixes one previous commit.
Do not allow gateway routes with NULL iface.
Fixes type mismatch on BSD systems.
Some new warnings eliminated.
Marked unused parameters as unused.
Deleted some unused code.
Code clean up.
Reverting last patch.
Caching loopback interface.
Minor changes caused by MJ's comment.
memset -> bzero
*BSD port added. (Tested on FreeBSD and NetBSD)