This is the updated patch to add the Babel protocol to Bird. There are not a huge amount of changes since the last version, but some important bug fixes. Specifically:
- Fix protocol reconfiguration logic. - Fix sequence number space calculation. - Fix interface update trigger logic so multiple triggers do no not step on each other. - Enforce a minimum size of RX and TX buffers. - Handle routes being removed by the core that originated from within this instance of Babel, for instance if export filters are changed. - Only trigger updates if rt_notify() actually changes things. - Change default wired hello interval to 4 secs (which is what babeld uses). - Handle non-LL next hop addresses in next hop TLVs. - Make sure to only schedule send events if the socket buffer is empty. Toke Høiland-Jørgensen (2): Teach bvsnprintf() to print 64-bit router IDs. Add the Babel routing protocol (RFC6126). .gitignore | 13 + configure.in | 3 + doc/bird.sgml | 93 +++ lib/bitops.h | 3 +- lib/ip.h | 3 + lib/printf.c | 31 +- nest/proto.c | 3 + nest/protocol.h | 2 +- nest/route.h | 11 +- proto/Doc | 1 + proto/babel/Doc | 2 + proto/babel/Makefile | 5 + proto/babel/babel.c | 1945 ++++++++++++++++++++++++++++++++++++++++++++++++++ proto/babel/babel.h | 349 +++++++++ proto/babel/config.Y | 129 ++++ proto/babel/packet.c | 871 ++++++++++++++++++++++ proto/babel/packet.h | 127 ++++ sysdep/autoconf.h.in | 1 + 18 files changed, 3582 insertions(+), 10 deletions(-) create mode 100644 .gitignore create mode 100644 proto/babel/Doc create mode 100644 proto/babel/Makefile create mode 100644 proto/babel/babel.c create mode 100644 proto/babel/babel.h create mode 100644 proto/babel/config.Y create mode 100644 proto/babel/packet.c create mode 100644 proto/babel/packet.h -- 2.8.0