Commit 4b68712
Vijayalaxmi Basavaraj
bgpd:send EOR during GR only when fib install comeplete for suppress fib enabled
Currently during GR, EOR is sent to neighbor prematurely for suppress fib enabled
case. below fix has be implemented.
keep a counter to track the routes installed in FIB.Increamnet
counter when bgp send route install to zebra, decreamnet counter when
fib install ack to received from zebra in bgp.when this count reaches
zero and route deferred count is 0 ad gr route syn pending is set, then
do further processing of sending EOR and zebra gr update complete.
This will send EOR as soon as last route fib install ack is received.
Testing:
before:
2020:2025/08/19 21:23:53.786402 BGP: [ZP3RE-J4Q8C] send End-of-RIB for IPv4 Unicast to swp1s1.3
2021:2025/08/19 21:23:53.786412 BGP: [ZP3RE-J4Q8C] send End-of-RIB for IPv6 Unicast to swp1s0.3
2022:2025/08/19 21:23:53.786415 BGP: [ZP3RE-J4Q8C] send End-of-RIB for IPv4 Unicast to swp1s0.3
2511:2025/08/19 21:23:54.162310 BGP: [TN0HX-6G1RR] u1:s5 send UPDATE w/ attr: , origin ?, mp_nexthop ::(::), path 64900 56000
2512:2025/08/19 21:23:54.162314 BGP: [H06SA-0JAPR] u1:s5 send MP_REACH for afi/safi IPv4/unicast
2513:2025/08/19 21:23:54.162316 BGP: [HVRWP-5R9NQ] u1:s5 send UPDATE 91.0.0.49/32 IPv4 unicast
after:
4270:2025/08/22 17:41:41.631993 BGP: [HVRWP-5R9NQ] u2:s2 send UPDATE 2003:1::/125 IPv6 unicast
4271:2025/08/22 17:41:41.631998 BGP: [HVRWP-5R9NQ] u2:s2 send UPDATE 2003:7:2::/125 IPv6 unicast
4272:2025/08/22 17:41:41.632003 BGP: [WEV7K-2GAQ5] u2:s2 send UPDATE len 116 (max message len: 65535) numpfx 2
4273:2025/08/22 17:41:41.632008 BGP: [JJ5V1-EZ0XX] u2:s2 swp1s1 send UPDATE w/ mp_nexthops 2003:0:1::1, fe80::1e34:daff:febe:4169
4274:2025/08/22 17:41:41.632041 BGP: [ZP3RE-J4Q8C] send End-of-RIB for IPv4 Unicast to swp1s1
4275:2025/08/22 17:41:41.632054 BGP: [ZP3RE-J4Q8C] send End-of-RIB for IPv6 Unicast to swp1s1
Signed-off-by: Vijayalaxmi Basavaraj <[email protected]>1 parent aeb7e61 commit 4b68712
File tree
17 files changed
+3222
-33
lines changed- bgpd
- tests/topotests/bgp_gr_fib_suppress
- r1
- r2
- r3
17 files changed
+3222
-33
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
87 | 90 | | |
88 | 91 | | |
89 | 92 | | |
| |||
857 | 860 | | |
858 | 861 | | |
859 | 862 | | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
860 | 873 | | |
861 | 874 | | |
862 | 875 | | |
| |||
1278 | 1291 | | |
1279 | 1292 | | |
1280 | 1293 | | |
1281 | | - | |
1282 | | - | |
| 1294 | + | |
| 1295 | + | |
| 1296 | + | |
1283 | 1297 | | |
1284 | | - | |
| 1298 | + | |
| 1299 | + | |
| 1300 | + | |
1285 | 1301 | | |
1286 | | - | |
1287 | 1302 | | |
1288 | 1303 | | |
1289 | 1304 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3928 | 3928 | | |
3929 | 3929 | | |
3930 | 3930 | | |
| 3931 | + | |
3931 | 3932 | | |
3932 | 3933 | | |
3933 | 3934 | | |
| |||
3996 | 3997 | | |
3997 | 3998 | | |
3998 | 3999 | | |
| 4000 | + | |
| 4001 | + | |
| 4002 | + | |
| 4003 | + | |
| 4004 | + | |
| 4005 | + | |
| 4006 | + | |
| 4007 | + | |
| 4008 | + | |
| 4009 | + | |
| 4010 | + | |
| 4011 | + | |
| 4012 | + | |
| 4013 | + | |
| 4014 | + | |
| 4015 | + | |
| 4016 | + | |
| 4017 | + | |
| 4018 | + | |
| 4019 | + | |
| 4020 | + | |
| 4021 | + | |
| 4022 | + | |
| 4023 | + | |
| 4024 | + | |
| 4025 | + | |
| 4026 | + | |
| 4027 | + | |
| 4028 | + | |
| 4029 | + | |
| 4030 | + | |
| 4031 | + | |
| 4032 | + | |
| 4033 | + | |
| 4034 | + | |
| 4035 | + | |
| 4036 | + | |
| 4037 | + | |
| 4038 | + | |
| 4039 | + | |
| 4040 | + | |
| 4041 | + | |
| 4042 | + | |
| 4043 | + | |
| 4044 | + | |
| 4045 | + | |
| 4046 | + | |
| 4047 | + | |
| 4048 | + | |
| 4049 | + | |
| 4050 | + | |
| 4051 | + | |
| 4052 | + | |
| 4053 | + | |
| 4054 | + | |
| 4055 | + | |
| 4056 | + | |
| 4057 | + | |
| 4058 | + | |
| 4059 | + | |
| 4060 | + | |
| 4061 | + | |
| 4062 | + | |
| 4063 | + | |
| 4064 | + | |
| 4065 | + | |
| 4066 | + | |
| 4067 | + | |
| 4068 | + | |
| 4069 | + | |
| 4070 | + | |
| 4071 | + | |
| 4072 | + | |
| 4073 | + | |
| 4074 | + | |
| 4075 | + | |
| 4076 | + | |
| 4077 | + | |
| 4078 | + | |
| 4079 | + | |
| 4080 | + | |
| 4081 | + | |
| 4082 | + | |
| 4083 | + | |
| 4084 | + | |
| 4085 | + | |
| 4086 | + | |
| 4087 | + | |
| 4088 | + | |
| 4089 | + | |
| 4090 | + | |
| 4091 | + | |
| 4092 | + | |
| 4093 | + | |
3999 | 4094 | | |
4000 | 4095 | | |
4001 | 4096 | | |
| |||
4040 | 4135 | | |
4041 | 4136 | | |
4042 | 4137 | | |
4043 | | - | |
4044 | | - | |
4045 | | - | |
4046 | | - | |
4047 | | - | |
4048 | | - | |
4049 | | - | |
4050 | | - | |
4051 | | - | |
4052 | | - | |
4053 | | - | |
4054 | | - | |
4055 | | - | |
4056 | | - | |
4057 | | - | |
4058 | | - | |
4059 | | - | |
4060 | | - | |
4061 | | - | |
4062 | | - | |
4063 | | - | |
4064 | | - | |
| 4138 | + | |
| 4139 | + | |
| 4140 | + | |
| 4141 | + | |
4065 | 4142 | | |
4066 | 4143 | | |
4067 | 4144 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
975 | 975 | | |
976 | 976 | | |
977 | 977 | | |
| 978 | + | |
| 979 | + | |
| 980 | + | |
978 | 981 | | |
979 | 982 | | |
980 | 983 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1912 | 1912 | | |
1913 | 1913 | | |
1914 | 1914 | | |
1915 | | - | |
1916 | | - | |
1917 | | - | |
1918 | | - | |
1919 | | - | |
1920 | | - | |
| 1915 | + | |
| 1916 | + | |
| 1917 | + | |
| 1918 | + | |
| 1919 | + | |
| 1920 | + | |
| 1921 | + | |
1921 | 1922 | | |
| 1923 | + | |
1922 | 1924 | | |
1923 | 1925 | | |
1924 | 1926 | | |
1925 | 1927 | | |
1926 | 1928 | | |
| 1929 | + | |
1927 | 1930 | | |
1928 | 1931 | | |
1929 | 1932 | | |
| |||
2908 | 2911 | | |
2909 | 2912 | | |
2910 | 2913 | | |
| 2914 | + | |
2911 | 2915 | | |
2912 | 2916 | | |
2913 | 2917 | | |
| |||
2944 | 2948 | | |
2945 | 2949 | | |
2946 | 2950 | | |
| 2951 | + | |
2947 | 2952 | | |
2948 | 2953 | | |
2949 | 2954 | | |
| |||
2959 | 2964 | | |
2960 | 2965 | | |
2961 | 2966 | | |
| 2967 | + | |
2962 | 2968 | | |
2963 | 2969 | | |
2964 | 2970 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
322 | 322 | | |
323 | 323 | | |
324 | 324 | | |
325 | | - | |
| 325 | + | |
| 326 | + | |
326 | 327 | | |
327 | 328 | | |
328 | 329 | | |
| |||
335 | 336 | | |
336 | 337 | | |
337 | 338 | | |
| 339 | + | |
| 340 | + | |
338 | 341 | | |
339 | 342 | | |
340 | 343 | | |
| |||
0 commit comments