mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-07-27 11:44:16 +00:00
Merge pull request #17919 from pguibert6WIND/bgp_suppressed_attribute
Bgp suppressed attribute
This commit is contained in:
commit
95db38f394
@ -10951,6 +10951,12 @@ void route_vty_out_detail(struct vty *vty, struct bgp *bgp, struct bgp_dest *bn,
|
|||||||
else
|
else
|
||||||
vty_out(vty, ", (stale)");
|
vty_out(vty, ", (stale)");
|
||||||
}
|
}
|
||||||
|
if (bgp_path_suppressed(path)) {
|
||||||
|
if (json_paths)
|
||||||
|
json_object_boolean_true_add(json_path, "suppressed");
|
||||||
|
else
|
||||||
|
vty_out(vty, ", (suppressed)");
|
||||||
|
}
|
||||||
|
|
||||||
if (CHECK_FLAG(attr->flag, ATTR_FLAG_BIT(BGP_ATTR_AGGREGATOR))) {
|
if (CHECK_FLAG(attr->flag, ATTR_FLAG_BIT(BGP_ATTR_AGGREGATOR))) {
|
||||||
if (json_paths) {
|
if (json_paths) {
|
||||||
|
@ -0,0 +1,41 @@
|
|||||||
|
{
|
||||||
|
"prefix":"192.168.0.1/32",
|
||||||
|
"paths":[
|
||||||
|
{
|
||||||
|
"aspath":{
|
||||||
|
"string":"65001",
|
||||||
|
"segments":[
|
||||||
|
{
|
||||||
|
"type":"as-sequence",
|
||||||
|
"list":[
|
||||||
|
65001
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"length":1
|
||||||
|
},
|
||||||
|
"suppressed":true,
|
||||||
|
"origin":"IGP",
|
||||||
|
"metric":10,
|
||||||
|
"valid":true,
|
||||||
|
"bestpath":{
|
||||||
|
"overall":true,
|
||||||
|
"selectionReason":"First path received"
|
||||||
|
},
|
||||||
|
"nexthops":[
|
||||||
|
{
|
||||||
|
"ip":"10.0.0.2",
|
||||||
|
"afi":"ipv4",
|
||||||
|
"metric":0,
|
||||||
|
"accessible":true,
|
||||||
|
"used":true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"peer":{
|
||||||
|
"peerId":"10.0.0.2",
|
||||||
|
"routerId":"10.254.254.3",
|
||||||
|
"type":"external"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -13,6 +13,7 @@
|
|||||||
Test BGP aggregate address features.
|
Test BGP aggregate address features.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
import json
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import pytest
|
import pytest
|
||||||
@ -265,6 +266,24 @@ match ip address acl-sup-three
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def test_check_bgp_attribute():
|
||||||
|
"Dump the suppressed attribute of the 192.168.0.1/32 prefix in r1."
|
||||||
|
tgen = get_topogen()
|
||||||
|
|
||||||
|
logger.info("Test that the BGP path to 192.168.0.1 is as expected.")
|
||||||
|
expected = json.loads(open("{}/r1/bgp_192_168_0_1.json".format(CWD)).read())
|
||||||
|
|
||||||
|
test_func = functools.partial(
|
||||||
|
topotest.router_json_cmp,
|
||||||
|
tgen.gears["r1"],
|
||||||
|
"show bgp ipv4 192.168.0.1/32 json",
|
||||||
|
expected,
|
||||||
|
)
|
||||||
|
_, result = topotest.run_and_expect(test_func, None, count=20, wait=1)
|
||||||
|
assertmsg = '"r1" BGP 192.168.0.1 route output failed'
|
||||||
|
assert result is None, assertmsg
|
||||||
|
|
||||||
|
|
||||||
def test_memory_leak():
|
def test_memory_leak():
|
||||||
"Run the memory leak test and report results."
|
"Run the memory leak test and report results."
|
||||||
tgen = get_topogen()
|
tgen = get_topogen()
|
||||||
|
Loading…
Reference in New Issue
Block a user