Commit e394b8de7f for frr
commit e394b8de7f6a8a7906e1e67d2447121cc395cdd8
Author: Nageswara Soma <nsoma@cisco.com>
Date: Sat Apr 25 12:51:12 2026 -0700
bgpd: update EVPN parameters in bgp_static_set
When an existing EVPN static route is configured again,
replace its ESI and router MAC allocations when new
values are supplied, and copy the new gateway address.
This applies all supplied EVPN parameters on updates.
Signed-off-by: Nageswara Soma <nsoma@cisco.com>
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
index 4bc6b226dd..07a7419616 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
@@ -9478,6 +9478,21 @@ int bgp_static_set(struct vty *vty, bool negate, const char *ip_str,
bgp_static->rmap.map = NULL;
bgp_static->valid = 0;
}
+
+ if (safi == SAFI_EVPN) {
+ if (esi) {
+ XFREE(MTYPE_ATTR, bgp_static->eth_s_id);
+ bgp_static->eth_s_id = XCALLOC(MTYPE_ATTR, sizeof(esi_t));
+ str2esi(esi, bgp_static->eth_s_id);
+ }
+ if (routermac) {
+ XFREE(MTYPE_ATTR, bgp_static->router_mac);
+ bgp_static->router_mac = XCALLOC(MTYPE_ATTR, ETH_ALEN + 1);
+ (void)prefix_str2mac(routermac, bgp_static->router_mac);
+ }
+ if (gwip)
+ prefix_copy(&bgp_static->gatewayIp, &gw_ip);
+ }
bgp_dest_unlock_node(dest);
} else {
/* New configuration. */