summaryrefslogtreecommitdiffstats
path: root/Documentation/core-api
diff options
context:
space:
mode:
authorDavid Ahern <dsahern@gmail.com>2019-05-24 14:43:08 -0700
committerDavid S. Miller <davem@davemloft.net>2019-05-28 21:37:30 -0700
commit430a049190de3c9e219f43084de9f1122da04570 (patch)
treeb846b64bcf7696f24db792a5c710a008f643ff4c /Documentation/core-api
parentb513bd035f4044aa2667fb01418918523a049b9c (diff)
downloadlinux-430a049190de3c9e219f43084de9f1122da04570.tar.gz
linux-430a049190de3c9e219f43084de9f1122da04570.tar.bz2
linux-430a049190de3c9e219f43084de9f1122da04570.zip
nexthop: Add support for nexthop groups
Allow the creation of nexthop groups which reference other nexthop objects to create multipath routes: +--------------+ +------------+ +--------------+ | | nh nh_grp --->| nh_grp_entry |-+ +------------+ +---------|----+ ^ | | +------------+ +----------------+ +--->| nh, weight | nh_parent +------------+ A group entry points to a nexthop with a weight for that hop within the group. The nexthop has a list_head, grp_list, for tracking which groups it is a member of and the group entry has a reference back to the parent. The grp_list is used when a nexthop is deleted - to efficiently remove it from groups using it. If a nexthop group spec is given, no other attributes can be set. Each nexthop id in a group spec must already exist. Similar to single nexthops, the specification of a nexthop group can be updated so that data is managed with rcu locking. Add path selection function to account for multiple paths and add ipv{4,6}_good_nh helpers to know that if a neighbor entry exists it is in a good state. Update NETDEV event handling to rebalance multipath nexthop groups if a nexthop is deleted due to a link event (down or unregister). When a nexthop is removed any groups using it are updated. Groups using a nexthop a tracked via a grp_list. Nexthop dumps can be limited to groups only by adding NHA_GROUPS to the request. Signed-off-by: David Ahern <dsahern@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'Documentation/core-api')
0 files changed, 0 insertions, 0 deletions