diff options
| author | Donald Sharp <sharpd@nvidia.com> | 2023-11-06 08:56:50 -0500 | 
|---|---|---|
| committer | Donald Sharp <sharpd@nvidia.com> | 2023-11-06 08:56:50 -0500 | 
| commit | 7e1b56ba98c22bb26cd798b289a214abfb32a8e2 (patch) | |
| tree | be3a9db0cc4e78f15f97178ca84c2cb91342b422 /zebra/zebra_vty.c | |
| parent | 7fe9333dd7e963dd6c96e1dac1dbbc4271ad693f (diff) | |
zebra: When using Nexthop groups, use v6 RR semantics
The nexthop group route replace operation was made consistent
across all versions of the kernel.  A v6 route replacement
does not need to do a delete than add when using nexthop
groups
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Diffstat (limited to 'zebra/zebra_vty.c')
| -rw-r--r-- | zebra/zebra_vty.c | 14 | 
1 files changed, 13 insertions, 1 deletions
diff --git a/zebra/zebra_vty.c b/zebra/zebra_vty.c index fce358f9ff..8c97248737 100644 --- a/zebra/zebra_vty.c +++ b/zebra/zebra_vty.c @@ -4028,6 +4028,17 @@ static int config_write_protocol(struct vty *vty)  	return 1;  } +static inline bool zebra_vty_v6_rr_semantics_used(void) +{ +	if (zebra_nhg_kernel_nexthops_enabled()) +		return true; + +	if (zrouter.v6_rr_semantics) +		return true; + +	return false; +} +  DEFUN (show_zebra,         show_zebra_cmd,         "show zebra", @@ -4048,7 +4059,8 @@ DEFUN (show_zebra,  	ttable_add_row(table, "EVPN|%s", is_evpn_enabled() ? "On" : "Off");  	ttable_add_row(table, "Kernel socket buffer size|%d", rcvbufsize);  	ttable_add_row(table, "v6 Route Replace Semantics|%s", -		       zrouter.v6_rr_semantics ? "Replace" : "Delete then Add"); +		       zebra_vty_v6_rr_semantics_used() ? "Replace" +							: "Delete then Add");  #ifdef GNU_LINUX  	if (!vrf_is_backend_netns())  | 
