...
After an upgrade from the 7.0(3)I7(x) train to 7.0(3)I7(9) or the 9.3(6) train, a Nexus 9000 switch with port-channels (potentially vPCs, unclear if they must be vPCs to reproduce the issue or not) with 1Gbps member interfaces has frozen port-channel configuration. One is not able to modify the configuration of the physical members of the port-channel. Furthermore, "no negotiate auto" configuration on physical members does not persist after the upgrade. This can cause 1Gbps links that require Auto-Negotiation to be disabled to stay down after an upgrade.
This issue is observed under the following conditions: 1. Port-channel consisting of one or more 1Gbps physical interfaces switch# show port-channel summary interface port-channel1 Flags: D - Down P - Up in port-channel (members) I - Individual H - Hot-standby (LACP only) s - Suspended r - Module-removed b - BFD Session Wait S - Switched R - Routed U - Up (port-channel) p - Up in delay-lacp mode (member) M - Not in use. Min-links not met -------------------------------------------------------------------------------- Group Port- Type Protocol Member Ports Channel -------------------------------------------------------------------------------- 1 Po1(SD) Eth LACP Eth1/1(D) switch# show interface Ethernet1/1 status -------------------------------------------------------------------------------- Port Name Status Vlan Duplex Speed Type -------------------------------------------------------------------------------- Eth1/1 -- notconnec trunk auto 1000 1000base-SX 2. 1Gbps physical interfaces cannot be removed from the port-channel via the "no channel-group" configuration command. switch# show running-config interface port-channel1 membership interface port-channel1 switchport mode trunk speed 1000 no negotiate auto interface Ethernet1/1 switchport mode trunk speed 1000 channel-group 1 mode active switch# configure terminal Enter configuration commands, one per line. End with CNTL/Z. switch(config)# interface Ethernet1/1 switch(config-if)# no channel-group 1 mode active switch(config-if)# end switch# show running-config interface Ethernet1/1 interface Ethernet1/1 switchport mode trunk speed 1000 channel-group 3 mode active 3. 1Gbps physical interfaces are missing "no negotiate auto" configuration, although the parent port-channel interface still has it configured. switch# show running-config interface port-channel1 membership interface port-channel1 switchport mode trunk speed 1000 no negotiate auto <<< interface Ethernet1/1 switchport mode trunk speed 1000 <<< Missing channel-group 1 mode active 4. Switch was recently disruptively upgraded from earlier in the NX-OS 7.0(3)I7(x) software release train to NX-OS software release 7.0(3)I7(9). switch# show system reset-reason ----- reset reason for module 1 (from Supervisor in slot 1) --- 1) At 759377 usecs after Tue Dec 29 12:03:07 2020 Reason: Reset due to upgrade Service: Version: 7.0(3)I7(6)
You can work around this issue through three steps: 1. Re-configure the affected physical interface(s) as a member of the port-channel interface with the "channel-group {x} force mode {active | on}" command. switch# show running-config interface port-channel1 membership interface port-channel1 switchport mode trunk speed 1000 no negotiate auto interface Ethernet1/1 switchport mode trunk speed 1000 channel-group 1 mode active switch# configure terminal switch(config)# interface Ethernet1/1 switch(config-if)# channel-group 1 force mode active switch(config-if)# end switch# 2. Enable Auto-Negotiation on the port-channel interface with the "negotiate auto" configuration command. switch# show running-config interface port-channel1 membership interface port-channel1 switchport mode trunk speed 1000 no negotiate auto interface Ethernet1/1 switchport mode trunk speed 1000 channel-group 1 mode active switch# configure terminal switch(config)# interface port-channel1 switch(config-if)# negotiate auto switch(config-if)# end switch# show running-config interface port-channel1 membership interface port-channel1 switchport mode trunk speed 1000 interface Ethernet1/1 switchport mode trunk speed 1000 channel-group 1 mode active switch# 3. Disable Auto-Negotiation on the port-channel interface with the "no negotiate auto" command. Notice how this command is pushed down to the associated physical interfaces. switch# show running-config interface port-channel1 membership interface port-channel1 switchport mode trunk speed 1000 interface Ethernet1/1 switchport mode trunk speed 1000 channel-group 1 mode active switch# configure terminal switch(config)# interface port-channel1 switch(config-if)# no negotiate auto switch(config-if)# end switch# show running-config interface port-channel1 membership interface port-channel1 switchport mode trunk speed 1000 no negotiate auto interface Ethernet1/1 switchport mode trunk speed 1000 no negotiate auto channel-group 1 mode active switch# Auto-Negotiation will now be disabled on the relevant physical interface(s). The physical interface(s) should come up/up as expected after this step.
This issue is caused due to a lack of synchronization between DME (Data Management Engine - an NX-OS software component responsible for storing configuration and operational data for NX-OS software components) and the binary running-config. The back-end DME component is not aware that a physical interface belongs to a specific port-channel. For this reason, re-configuring the physical interface as a member of the port-channel resolves this synchronization issue and allows for Auto-Negotiation configuration ("negotiate auto" and "no negotiate auto") to be correctly re-configured on the port-channel interface and be pushed down to the associated physical interfaces.