diff options
| author | Pooja Jagadeesh Doijode <pdoijode@nvidia.com> | 2023-04-18 18:40:06 -0700 |
|---|---|---|
| committer | Pooja Jagadeesh Doijode <pdoijode@nvidia.com> | 2023-04-18 18:40:06 -0700 |
| commit | 6e076ba5231cba2e22dcbdc48a9c13df046a2e47 (patch) | |
| tree | cbdf98d92916f6e6eea689d9adf96dd8923521bc /tests/topotests/lib/topotest.py | |
| parent | 74aad5ab559cc39f52137292b3b38d2d07eff428 (diff) | |
bgpd: Fix for ain->attr corruption during path update
1. Consider a established L2VPN EVPN BGP peer with soft-reconfiguartion
inbound configured
2. When the interface of this directly connected BGP peer is shutdown,
bgp_soft_reconfig_table_update() is called, which memsets the evpn buffer
and calls bgp_update() with received attributes stored in ain table(ain->attr).
In bgp_update(), evpn_overlay attribute in ain->attr (which is an interned
attr) was modified by doing a memcpy
3. Above action causes 2 attributes in the attrhash (which were previously different)
to match!
4. Later during fsm change event of the peer, bgp_adj_in_remove() is called
to clean up the ain->attr. But, because 2 attrs in attrhash match, it causes
BGP to assert in bgp_attr_unintern()
Signed-off-by: Pooja Jagadeesh Doijode <pdoijode@nvidia.com>
Diffstat (limited to 'tests/topotests/lib/topotest.py')
0 files changed, 0 insertions, 0 deletions
