@@ -274,7 +274,8 @@ def generate_sonic_config(device, hwsku, device_as_mapping=None, config_version=
274274 config ["BREAKOUT_PORTS" ].update (breakout_info ["breakout_ports" ])
275275
276276 # Add port channel configuration
277- _add_portchannel_configuration (config , portchannel_info )
277+ evpn_system_mac = device .config_context .get ("_evpn_system_mac" )
278+ _add_portchannel_configuration (config , portchannel_info , evpn_system_mac )
278279
279280 # Add VRF configuration
280281 _add_vrf_configuration (config , vrf_info , netbox_interfaces )
@@ -2067,17 +2068,20 @@ def _add_vrf_configuration(config, vrf_info, netbox_interfaces):
20672068 )
20682069
20692070
2070- def _add_portchannel_configuration (config , portchannel_info ):
2071+ def _add_portchannel_configuration (config , portchannel_info , evpn_system_mac = None ):
20712072 """Add port channel configuration from NetBox."""
20722073 if portchannel_info ["portchannels" ]:
20732074 for pc_name , pc_data in portchannel_info ["portchannels" ].items ():
20742075 # Add PORTCHANNEL configuration
2075- config [ "PORTCHANNEL" ][ pc_name ] = {
2076+ pc_config = {
20762077 "admin_status" : pc_data ["admin_status" ],
20772078 "fast_rate" : pc_data ["fast_rate" ],
20782079 "min_links" : pc_data ["min_links" ],
20792080 "mtu" : pc_data ["mtu" ],
20802081 }
2082+ if pc_data .get ("evpn_lag" ) and evpn_system_mac :
2083+ pc_config ["system_mac" ] = evpn_system_mac
2084+ config ["PORTCHANNEL" ][pc_name ] = pc_config
20812085
20822086 # Add PORTCHANNEL_INTERFACE configuration to enable IPv6 link-local
20832087 config ["PORTCHANNEL_INTERFACE" ][pc_name ] = {
0 commit comments