Changelog
We are at 0.9.5
Since 0.9.4
- New MRIB implementation that scales better and has better performance.
- Populating the MRIB with RIB entries is now optional (enabled by default).
- MRIB entries now have Distance and Cost values (Distance takes precedence over Cost).
- Updated PIM-BSR implementation to conform with latest changes introduced in draft 06.
- New configuration system that allows specific features to be added/removed to/from the resulting MRD6 binary.
- Improved the several PIM state machine.
- Implemented MSNIP and MRDISC (Multicast router discovery) drafts.
- Added 'show mld groups' command.
- Improved logging messages (less clutter, log how long (S,G) states were alive, etc).
- BGP neighbor sessions are now inactive by default and must be 'activate'd for the peering to created.
- Improved user-space forwarding in Linux.
- Support BSD ipv6 kernel forwarding (only SSM is working in BSD right now).
- And lots of other fixed, this is a big update.
Since 0.9.4-beta1
- Check for configuration files /etc/mrd6.conf, /etc/mrd.conf and mrd6.conf (local dir) before bailing out.
- bug fixes:
- fix some issues with missing upstream path if nexthop=:: (i.e. when using directly connected mrib entries)
- properly time out (S,G) states by activity
- feed sources from cache when (*,G) state is created
- properly handle (S,G) state_desired()
- proper handle of upstream interest when not DR for interface
Since 0.9.2-beta3
User features
- Initial zebra module
- added show pim rpf-neighbor <addr> method to display RPF_neighbor information
- added log no attach <name> method to remove log nodes
- added mrib no local <addr> method to remove previously added local prefixes
- added mrib no prefix <addr> [via <addr>] [dev <name>] method to remove remove previously configured prefixes
- added linux netlink-buffer <size> method to change the netlink buffer size used in linux
- added console client-timeout <value> method to change the default timeout a telnet client is configured with
- gave descriptions to most nodes and methods (seen via completion command)
- implemented console command history
- improved console tab-complete
- implemented a mechanism that allows the restriction of source address that the router will accept Register-encapsulated packets from (#26)
- allow embedded RP configurations to automatically configure register-accept-source-prefix (#27)
- implemented rp-rejected-source-policy (#28)
- implemented a mechanism to limit the set of neighbors (#25)
- improved the BGP filtering mechanisms (BGPFiltering)
Fixes
- fixed PIM BSR
- fast-leave mechanism wasn't working in some situations
- PIM (*,G) upstream joining could fail in some particular situations
- and some minor issues
Internal changes
- Moved RIB management code to rib_def
- Allow modules to install RIB handlers
- Added 'encoding_buffer', from BGP's one
- increased MLDv2 compliance in startup-query and last-listener-query behaviours
Developer features
- added an example module extending MLD functionality (mld_ext in src/extra/)
Since 0.9.2-beta2
- allow the disable of PIM hellos by setting hello-interval to 0
- implemented PIM Join/Prune suppression
- properly handle the LAN Delay's T bit (neighbor tracking) included in PIM Hellos
- only include LAN Delay hello option in multi-access interfaces (right now only ethernet is considered as such)
- a couple PIM Assert fixes
- better handling of PIM Register messages in RP mode
- better confirmance of BSR behaviour (draft-ietf-pim-sm-bsr-05)
- fixed two potential problems when MRD6 was used as an upstream router
- it could miss the creation of (S,G)s as required
- a potential problem with the removal of a downstream interface (such as after a Prune/Leave)
Since 0.9.2-beta1
- (finally) implemented PIM Assert state machine. Not very well tested yet, please report any issues
- better MLDv2 Router RFC compliance
- removed some redundant MLD and PIM configuration variables
- some memory savings due to internal state sharing
- some state's output info was missing since 0.9.1
- fixed a couple other regressions since 0.9.1
- and of course, some generic cleanups
Since 0.9.1
- source discovery interface, which allows distinct methods to specify the known sources for a specific group. The default method is 'data-plane' which learns sources from the packets received by the router (was previously the implicit method). This version also includes a 'static' method which allows the manual configure of sources
- better configuration of static MRIB entries view a new method 'prefix'
- general code fixes and lots of performance improvements
