Support advertised networks in bgp protocol (#34728)

Signed-off-by: Samer Deeb <samerd@mellanox.com>
This commit is contained in:
Samer Deeb 2018-01-11 09:40:39 -08:00 committed by John R Barker
commit cb206abea3
4 changed files with 123 additions and 30 deletions

View file

@ -1,6 +1,23 @@
BGP router identifier 1.2.3.4, local AS number 172
BGP table version is 1, main routing table version 1
-------- - -- ------- ------- ------ --- ---- ------- ------------
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
-------- - -- ------- ------- ------ --- ---- ------- ------------
10.2.3.4 4 173 0 0 1 0 0 Never ACTIVE
##
## Running database "initial"
## Generated at 2018/01/10 23:13:17 +0000
## Hostname: r-neo-sw12
##
##
## Running-config temporary prefix mode setting
##
no cli default prefix-modes enable
##
## BGP configuration
##
protocol bgp
router bgp 172 vrf default
router bgp 172 vrf default router-id 1.2.3.4 force
router bgp 172 vrf default neighbor 10.2.3.4 remote-as 173
router bgp 172 vrf default network 172.16.1.0 /24
##
## Persistent prefix mode setting
##
cli default prefix-modes enable

View file

@ -39,7 +39,8 @@ class TestMlnxosBgpModule(TestMlnxosModule):
def test_bgp_no_change(self):
neighbor = dict(remote_as=173, neighbor='10.2.3.4')
set_module_args(dict(as_number=172, router_id='1.2.3.4',
neighbors=[neighbor]))
neighbors=[neighbor],
networks=['172.16.1.0/24']))
self.execute_module(changed=False)
def test_bgp_remove(self):
@ -60,11 +61,27 @@ class TestMlnxosBgpModule(TestMlnxosModule):
neighbors = [dict(remote_as=173, neighbor='10.2.3.4'),
dict(remote_as=175, neighbor='10.2.3.5')]
set_module_args(dict(as_number=172, router_id='1.2.3.4',
neighbors=neighbors))
neighbors=neighbors,
networks=['172.16.1.0/24']))
commands = ['router bgp 172 neighbor 10.2.3.5 remote-as 175']
self.execute_module(changed=True, commands=commands)
def test_bgp_del_neighbor(self):
set_module_args(dict(as_number=172))
set_module_args(dict(as_number=172,
networks=['172.16.1.0/24']))
commands = ['router bgp 172 no neighbor 10.2.3.4 remote-as 173']
self.execute_module(changed=True, commands=commands)
def test_bgp_add_network(self):
neighbors = [dict(remote_as=173, neighbor='10.2.3.4')]
set_module_args(dict(as_number=172, router_id='1.2.3.4',
neighbors=neighbors,
networks=['172.16.1.0/24', '172.16.2.0/24']))
commands = ['router bgp 172 network 172.16.2.0 /24']
self.execute_module(changed=True, commands=commands)
def test_bgp_del_network(self):
neighbors = [dict(remote_as=173, neighbor='10.2.3.4')]
set_module_args(dict(as_number=172, neighbors=neighbors))
commands = ['router bgp 172 no network 172.16.1.0 /24']
self.execute_module(changed=True, commands=commands)