Merge pull request #4260 from vishaldhingra/lcomm

bgpd: Added the as-set option for IPV6 agg. route
This commit is contained in:
Donald Sharp 2019-06-18 20:45:57 -04:00 committed by GitHub
commit 3e461df2ea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 76 additions and 5 deletions

View File

@ -6532,28 +6532,38 @@ DEFUN (no_aggregate_address_mask,
DEFUN (ipv6_aggregate_address, DEFUN (ipv6_aggregate_address,
ipv6_aggregate_address_cmd, 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" "Configure BGP aggregate entries\n"
"Aggregate prefix\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; int idx = 0;
argv_find(argv, argc, "X:X::X:X/M", &idx); argv_find(argv, argc, "X:X::X:X/M", &idx);
char *prefix = argv[idx]->arg; 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) int sum_only = argv_find(argv, argc, "summary-only", &idx)
? AGGREGATE_SUMMARY_ONLY ? AGGREGATE_SUMMARY_ONLY
: 0; : 0;
return bgp_aggregate_set(vty, prefix, AFI_IP6, SAFI_UNICAST, sum_only, return bgp_aggregate_set(vty, prefix, AFI_IP6, SAFI_UNICAST, sum_only,
0); as_set);
} }
DEFUN (no_ipv6_aggregate_address, DEFUN (no_ipv6_aggregate_address,
no_ipv6_aggregate_address_cmd, 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 NO_STR
"Configure BGP aggregate entries\n" "Configure BGP aggregate entries\n"
"Aggregate prefix\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; int idx = 0;
argv_find(argv, argc, "X:X::X:X/M", &idx); argv_find(argv, argc, "X:X::X:X/M", &idx);

View File

@ -688,6 +688,11 @@ Networks
Route Aggregation Route Aggregation
----------------- -----------------
.. _bgp-route-aggregation-ipv4:
Route Aggregation-IPv4 Address Family
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. index:: aggregate-address A.B.C.D/M .. index:: aggregate-address A.B.C.D/M
.. clicmd:: 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 .. index:: no aggregate-address A.B.C.D/M
.. clicmd:: 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: .. _bgp-redistribute-to-bgp: