If I set a bandwidth parameter to Cisco Catalyst family switch port like this:

s1#sh run int Fa0/4 | i band
 bandwidth 15000

..then ifHighSpeed no longer returns the physical port speed, but instead the bandwidth value:

$ snmpwalk -v 2c -c public s1 ifHighSpeed.5
IF-MIB::ifHighSpeed.5 = Gauge32: 15

Is there a way to return physical port speed over SNMP even if bandwidth is specified? I tried with portAdminSpeed(., but SNMP agent in my switch does not know about that.

  • What do you mean with physical port speed? I.e. if a port supports 10/100/1000 and the 'auto' settings results in a speed of 100, do you want to get 100 (current speed) or 1000 (max speed) ? If you do a "show interface", where does it show the info you are looking for?
    – hertitu
    Commented Nov 7, 2016 at 15:52
  • Also, what model of Catalyst are we talking about and which IOS or IOS-XE version are you running, that may sometimes be relevant.
    – hertitu
    Commented Nov 7, 2016 at 15:54
  • @hertitu If a port supports 10/100/1000 and the auto settings results in a speed of 100, then I want to get 100 (current speed). Switch model is WS-C3560X-24 with IOS version 15.0(2)SE8.
    – Martin
    Commented Nov 7, 2016 at 16:43
  • Time and hardware restrictions don't allow me to test right now, but you may have a look at the RFC2668-MIB, e.g. do a walk of, but note that the return value is not the speed but a type which you can look up here. I guess it's not what you're looking for though as it at first sight this seems to return the port type, not the operational speed.
    – hertitu
    Commented Nov 7, 2016 at 17:02
  • @hertitu I tried with WS-C3560X-24 SW version 15.0(2)SE8 and few other Cisco Catalyst family switches and those did not support
    – Martin
    Commented Nov 8, 2016 at 14:49

3 Answers 3


So I've just tried this on an older 3750 (12.2(52)SE) and here's what I get - given the following configuration:

interface FastEthernet1/0/1
 switchport trunk encapsulation dot1q
 switchport trunk allowed vlan 1,5,500
 switchport mode trunk
 bandwidth 5000
 spanning-tree link-type point-to-point

SNMP gives back the bandwidth value for the ifSpeed OID (bps):

IF-MIB::ifSpeed.10001 = Gauge32: 5000000

and a value of 5 for the ifHighSpeed (Mbps):

IF-MIB::ifHighSpeed.10001 = Gauge32: 5

Now, knowing that the ifIndex for fa1/0/1 is 10001 on this switch, I walked the entire MIB grepping for that index number, and there isn't a single relevant OID that gives a return value of 100000000 or 100.

So, long story short, it doesn't look like it is possible to return the physical link speed when the bandwidth parameter is set.

  • Interestingly enough on the Nexus 3048 (NXOS System version: 6.0(2)U6(4)) it is exactly opposite. They only provide the physical speed... Love Cisco very much... Commented Feb 3, 2020 at 8:59

If you need speed information of Interfaces, you can test ifSpeed(OID:., FROM RFC1213-MIB, IF-MIB). It's worked for me.

  • Both ifHighSpeed and ifSpeed will return bandwidth value.
    – Martin
    Commented Nov 6, 2016 at 21:22
  • typical! To be honest though, I would expect that to be the behaviour anywhere. The bandwidth parameter is only for protocols like OSPF to use in link costs. The ifMIB is all about physical characteristics Commented Feb 5, 2020 at 4:49

The physical port speed is signified by the interface type name. In your case, int Fa0/4 means interface FastEthernet 0/4. Fast Ethernet means 100Mbps. However, a subrate Ethernet port can be achieved with the speed command. The hardware speed (full or subrate) is often called the port speed. The circuit speed can be configured with traffic shaping or policing.

So that's 2 distinct keys terms, port speed and circuit speed.

Try mediaIndependentInputSpeed or CISCO-IF-EXTENSION-MIB

Your Answer

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

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