diff options
-rw-r--r-- | bgpd/bgp_route.c | 20 | ||||
-rw-r--r-- | doc/user/bgp.rst | 61 |
2 files changed, 76 insertions, 5 deletions
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index c7188cdc7..c4fd726e5 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -6531,28 +6531,38 @@ DEFUN (no_aggregate_address_mask, DEFUN (ipv6_aggregate_address, ipv6_aggregate_address_cmd, - "aggregate-address X:X::X:X/M [summary-only]", + "aggregate-address X:X::X:X/M [<as-set [summary-only]|summary-only [as-set]>]", "Configure BGP aggregate entries\n" "Aggregate prefix\n" - "Filter more specific routes from updates\n") + "Generate AS set path information\n" + "Filter more specific routes from updates\n" + "Filter more specific routes from updates\n" + "Generate AS set path information\n") { int idx = 0; argv_find(argv, argc, "X:X::X:X/M", &idx); char *prefix = argv[idx]->arg; + int as_set = + argv_find(argv, argc, "as-set", &idx) ? AGGREGATE_AS_SET : 0; + + idx = 0; int sum_only = argv_find(argv, argc, "summary-only", &idx) ? AGGREGATE_SUMMARY_ONLY : 0; return bgp_aggregate_set(vty, prefix, AFI_IP6, SAFI_UNICAST, sum_only, - 0); + as_set); } DEFUN (no_ipv6_aggregate_address, no_ipv6_aggregate_address_cmd, - "no aggregate-address X:X::X:X/M [summary-only]", + "no aggregate-address X:X::X:X/M [<as-set [summary-only]|summary-only [as-set]>]", NO_STR "Configure BGP aggregate entries\n" "Aggregate prefix\n" - "Filter more specific routes from updates\n") + "Generate AS set path information\n" + "Filter more specific routes from updates\n" + "Filter more specific routes from updates\n" + "Generate AS set path information\n") { int idx = 0; argv_find(argv, argc, "X:X::X:X/M", &idx); diff --git a/doc/user/bgp.rst b/doc/user/bgp.rst index 768f22c87..46e32ea28 100644 --- a/doc/user/bgp.rst +++ b/doc/user/bgp.rst @@ -688,6 +688,11 @@ Networks Route Aggregation ----------------- +.. _bgp-route-aggregation-ipv4: + +Route Aggregation-IPv4 Address Family +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + .. index:: aggregate-address A.B.C.D/M .. clicmd:: aggregate-address A.B.C.D/M @@ -707,6 +712,62 @@ Route Aggregation .. index:: no aggregate-address A.B.C.D/M .. clicmd:: no aggregate-address A.B.C.D/M + + This command removes an aggregate address. + + + This configuration example setup the aggregate-address under + ipv4 address-family. + + .. code-block:: frr + + router bgp 1 + address-family ipv4 unicast + aggregate-address 10.0.0.0/8 + aggregate-address 20.0.0.0/8 as-set + aggregate-address 40.0.0.0/8 summary-only + exit-address-family + + +.. _bgp-route-aggregation-ipv6: + +Route Aggregation-IPv6 Address Family +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. index:: aggregate-address X:X::X:X/M +.. clicmd:: aggregate-address X:X::X:X/M + + This command specifies an aggregate address. + +.. index:: aggregate-address X:X::X:X/M as-set +.. clicmd:: aggregate-address X:X::X:X/M as-set + + This command specifies an aggregate address. Resulting routes include + AS set. + +.. index:: aggregate-address X:X::X:X/M summary-only +.. clicmd:: aggregate-address X:X::X:X/M summary-only + + This command specifies an aggregate address. Aggregated routes will + not be announce. + +.. index:: no aggregate-address X:X::X:X/M +.. clicmd:: no aggregate-address X:X::X:X/M + + This command removes an aggregate address. + + + This configuration example setup the aggregate-address under + ipv4 address-family. + + .. code-block:: frr + + router bgp 1 + address-family ipv6 unicast + aggregate-address 10::0/64 + aggregate-address 20::0/64 as-set + aggregate-address 40::0/64 summary-only + exit-address-family .. _bgp-redistribute-to-bgp: |