forked from FRRouting/frr
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
*: add nexthop_group group ids support
Today, protocol daemons can create nexthop groups with multiple nexthops, but can not create a hierarchy between nexthop groups. Having a nexthop group hierarchy is wishable at protocol level, and such hierarchy should be kept when transmitted to ZEBRA. Protocol daemons are already able to create nexthop groups, thus facilitating the update at ZEBRA level: for instance, in SHARP, when a nexthop becomes unreachable, an update of the given nexthop-group automatically updates all the routes using that nexthop group. Theorically, route updates would not be necessary. Having a hierarchy can facilitate the updates at ZEBRA level in ECMP cases, like for BGP addpath functionality: the same prefix may be announced multiple times with a different nexthop. If one of those nexthops become unreachable, if nexthops are considered, all the nexthop groups will be parsed, and only the ones using the failed nexthop will be refreshed. If a nexthop group hierarchy is considered, then the nexthop is bound to a single nexthop group, and a nexthop group dependency list can be maintained to exactly know which nexthop is using the failed nexthop. Here too, having that visibility at protocol level may help reducing the routes updates between BGP and ZEBRA. Last, but not least, that hierarchy representation at protocol level will be transmitted to ZEBRA, thus guaranteing the same kind of hierarchy at the ZEBRA level. Extend the nexthop group structure to support a list of nexthop groups. Expose a vty API inside the nexthop group node, to host a new command to configure a group name. That group name points to another nexthop group. > nexthop-group ABCD > group ECMP1 > group ECMP2 > exit > nexthop-group ECMP1 > nexthop 192.168.0.100 loop1 > exit > nexthop-group ECMP2 > nexthop 192.168.0.105 loop1 > exit This commit does the following: - ZAPI creation of NHG_GROUP_ADD message: for passing groups from a given NHG. For deletion, current NHG_DEL command is used. - SHARP changes : configuration, and interaction dependency between nexthops and nexthop groups. - At ZEBRA level, the dependent NHG is replaced by its nexthop definition. The rest of zebra code is kept unchanged. Signed-off-by: Philippe Guibert <[email protected]>
- Loading branch information
1 parent
4ecd69d
commit 782fa5a
Showing
13 changed files
with
716 additions
and
60 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.