0

I've got a new Cisco ISR 4431 Router running IOS XE 03.13.02.S and IOS 15.4(3)S2. WAN connection is a Metro Ethernet circuit delivered over copper and ISP has requested that we force the port to 1Gbps Full-Duplex. Our internal network is all using default auto-negotiate gig port settings.

WAN Port config snippet:

interface GigabitEthernet0/0/0
 description WAN Metro Ethernet Circuit
 ! ...
 speed 1000
 duplex full
 no negotiation auto

INSIDE Port config snippet:

interface GigabitEthernet0/0/1
 description INSIDE Router Port
 ! ...
 negotiation auto

Strange thing is that with the force 1G Full WAN port, the interface appears to have flow-control (802.3x pause frames) enabled and I can't figure out a command to disable flow-control on the port. On my INSIDE (negotiation auto) port, flow-control is disabled which is what I've seen as the default ethernet port setting in other Cisco routers. See the following port status samples for details:

WAN Port status:

RTR# show int gig0/0/0
GigabitEthernet0/0/0 is up, line protocol is up
  Hardware is ISR4431-X-4x1GE, address is [...]
  [...]
  MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec,
     reliability 255/255, txload 1/255, rxload 3/255
  Encapsulation ARPA, loopback not set
  Keepalive not supported
  Full Duplex, 1000Mbps, link type is force-up, media type is RJ45
  output flow-control is on, input flow-control is on
  ARP type: ARPA, ARP Timeout 00:05:00
  [...]

LAN Port status:

RTR#show int gig0/0/1
GigabitEthernet0/0/1 is up, line protocol is up
  Hardware is ISR4431-X-4x1GE, address is [...]
  [...]
  MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec,
     reliability 255/255, txload 2/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive not supported
  Full Duplex, 1000Mbps, link type is auto, media type is RJ45
  output flow-control is off, input flow-control is off
  ARP type: ARPA, ARP Timeout 00:05:00

Note that "flow-control is off" for the auto-negotiate LAN port, but "flow-control is on" for the force-gig-full WAN port. Neither port has a command applied directly related to 802.3x ethernet flow control. In my attempts to google for a solution, I saw suggestions for a "flowcontrol" and "negotiation forced" IOS interface commands. Neither of these commands was available on the CLI of my 4431 router. Maybe they were for different Cisco hardware, interface type, or software release?

If you have any suggestions for how to disable this please share here. I can always leave it on, but if the ISP has it disabled on their end then I should match by disabling 802.3x pause frames on mine.

1 Answer 1

1

I will start by saying that you should not be disabling auto-negotiation with Gigabit connections. This is what the standard has to say (from 802.3-2012 Section Three, which you can reference here):

37.1.4.4 User Configuration with Auto-Negotiation

Rather than disabling Auto-Negotiation, the following behavior is suggested in order to improve interoperability with other Auto-Negotiation devices. When a device is configured for one specific mode of operation (e.g. 1000BASE-X Full Duplex), it is recommended to continue using Auto-Negotiation but only advertise the specifically selected ability or abilities. This can be done by the Management agent only setting the bits in the advertisement registers that correspond to the selected abilities.

This means you should never use speed 1000 on Gigabit links. You could instead speed auto 1000, but your expressed need has a better solution.

The real problem is the following command on interface Gigabit0/0/0:

  no negotiation auto

Remove the speed 1000, the duplex full, and the no negotiation auto commands from the interface and instead use negotiation forced so your interface looks like so:

 interface GigabitEthernet0/0/0
  description WAN Metro Ethernet Circuit
  ! ...
  negotiation forced

From Cisco documentation, the forced keyword has the following effect (and I believe also adheres to the standard's recommendation):

Disables flow control and configures the Gigabit Ethernet interface in 1000/full-duplex mode.

This should meet your requirement of 1000/full with no flow control.


In re-reading your question, I realized you noted you did not seem to have the force command available.

In your case, I will still recommend removing the no negotiation auto command and have your interface look like so:

 interface GigabitEthernet0/0/0
  description WAN Metro Ethernet Circuit
  ! ...
  speed auto 1000
  duplex full
3
  • Thanks YLearn, I agree that the auto negotiation should be used whenever possible. I keep getting ISP engineers that "know better" and force it on their end / refuse to auto-negotiate the link. When I leave mine on auto, I get tons of port errors and the throughput is terrible. I'll see if adding the 1000 "speed auto 1000" works. On this model/IOS combination, the speed command isn't even available when "negotiation auto" is enabled. I'll double-check to be sure.
    – Mister_Tom
    Aug 21, 2015 at 12:01
  • 1
    If that doesn't work, you may want to also try speed nonegotiate if available. I personally have only used it on fiber links (where it forces the link up when it receives light as opposed to when it has signal). I didn't suggest it before as I don't know with any certainty if/how it will work with a copper link.
    – YLearn
    Aug 21, 2015 at 18:30
  • I've run out of time this week to try it so I'll try some of the suggestions next week when my on-site team is available to fix something if I break it ;-).
    – Mister_Tom
    Aug 21, 2015 at 21:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.