Cisco Catalyst 9200 / 9300 DNA Licensing

KB ID 0001750

Problem

I get asked this at least once a month, “What’s the score with this DNA Licensing?” It took long enough for everyone to get used to Lan Base, IP Base, and IP Services!

The cynic in me would say, Cisco have learned from Meraki that selling subscription licences is much better than selling products that you don’t get any recurring revenue from. But I’ll try an give you the short answer so you can get the correct license. 

Solution: Buying Cisco Catalyst 9K Switches

Firstly: Not sure who decided that Cisco would release 9000 series Catalyst switches, when they had 9000 series Nexus switches? (Thanks for that!)

Catalyst 9200 or 9300?

As a rule of thumb 9200 series are typically used as access switches i.e. replacements for things like the Catalyst 2960, 2960-X, and 2960-XR). And the 9300 series are a replacement for things like Cisco Catalyst 3750G, 3750-X, and 3850.

Note: There’s also a Catalyst 9400 switch, which is a modular (line card) based chassis switch to replace the Catalyst 4500 and 6000 series.
Note2: There’s also a Catalyst 9500 switch that replaced the 10Gbps catalyst 3850 models (traditional 1U size).
Note3: There’s also a Catalyst 9600 switch which is modular (line card) based chassis switch to replace the Catalyst 6000 Series.
Note4: There’s also a Catalyst 9800 series which, just to confuse everyone further, is a range of wireless controllers?

So which switch to buy? Cisco keep adding models to both ranges so the first thing to do is decide 9200 or 9300, then look at the current Cisco Data Sheet for that range.

9200 Series Data Sheet

9300 Series Data Sheet

Then decide

  1. How many ports (access/downlink) do you need, and what speed/type do they need to be?
  2. Do you need PoE?
  3. What uplink ports do you need? (Some models have fixed (built in) uplinks, others need a network module (modular) uplink. Remember modular uplinks have their own part number (SKU), and will need to be ordered separately. (Note: 9200L and 9300L have fixed uplinks)
  4. Do you need additional (redundant) power supplies? 
  5. Do you need to ‘Stack’ your switches, if so don’t forget to get a stack cable (theres no separate stacking modules).

They were cheaper than you expected right?

That’s because now we need to add on a DNA licence as well.

DNA Licensing

Cisco DNA (Digital Network Architecture) is the name given collectively to a suite of products that are aimed towards being software driven, automated, with built in security.

There’s three types;

  • DNA Essentials: (Lan Base in old money) Basically Layer 2 functionality and static routing.
  • DNA Advantage:  (Combines IP Base and IP Services in old money) Basically full Layer 3 functionality, (and all the functionality of DNA Essentials).
  • DNA Premier: Combines all the functionality of DNA Essentials and DNA Advantage, and adds on ISE integration and Cisco Secure Network Analytics (formerly Stealthwatch) support.

Each licence comes in either a 3 Year, 5 Year, or 7 Year subscription model.

Example DNA Licensing SKU: C9200- DNA-E-24-3Y

C9200  – for a Cisco Catalyst 9200 series switch.

DNA – Digital Network Architecture licence.

E – Essentials (A would be advantage, and P would be premier).

24 – For a 24 port switch

3Y – 3 Year Subscription

Related Articles, References, Credits, or External Links

NA

Cisco Stacking 2960-X Catalyst Switches

KB ID 0001444

Problem

You can stack up to 8 2960-X Switches*, you will require the stack modules and cables, (shown below). 

*Note: If you are studying for an exam, and the question is StackWize the answer is 9.

Solution

Stack Modules: Power down the switch, remove the blanking plate and fit the module, then when powered on you can use a show inventory command to make sure the module has been detected correctly.

[box]

Switch#show inventory
NAME: "1", DESCR: "WS-C2960X-48FPD-L"
PID: WS-C2960X-48FPD-L , VID: V07 , SN: FCW2213B2XX
NAME: "Switch 1 - FlexStackPlus Module", DESCR: "Stacking Module"
PID: C2960X-STACK , VID: V02 , SN: FOC221410XX

Switch#
[/box]

Setting a Stack Master: If you do nothing and simply connect up a stack, then power it on, the switches have an ‘election’ and the one with the lowest MAC address becomes the master. This is a bit bobbins, so I prefer to configure a switch to be master by increasing its priority. This is a number between 1 and 15 (Highest wins) and all switches have a priority of 1 out of the box.

I typically set the ‘top’ switch as the stack master and set its priority to 15.

[box]

Switch#configure terminal
Switch(config)#switch 1 priority 15
Changing the Switch Priority of Switch Number 1 to 15
Do you want to continue?[confirm]{Enter}	
New Priority has been set successfully

TO CONFIRM
Switch#show switch
Switch/Stack Mac Address : 5061.bf51.dd80
                                           H/W   Current
Switch#  Role   Mac Address     Priority Version  State
----------------------------------------------------------
*1       Master 5061.bf51.dd80     15     4       Ready


Switch#
[/box]

Then cable the switches together with the stack cables. If you are cabling two switches together then cable like so;

If cabling more switches , then cable stack port 1 of a switch, to port 2 of the switch below it, and keep going, then on the bottom switch cable port 1 back up to port 2 on the top switch (to make a ring).

Then power everything on, check the stack is up 

[box]

Switch#show switch detail
Switch/Stack Mac Address : 5061.bf51.dd80
                                           H/W   Current
Switch#  Role   Mac Address     Priority Version  State
----------------------------------------------------------
*1       Master 5061.bf51.dd80     15     4       Ready
 2       Member 5061.bf51.de00     1      4       Ready

         Stack Port Status             Neighbors
Switch#  Port 1     Port 2           Port 1   Port 2
--------------------------------------------------------
  1        Ok         Ok                2        2
  2        Ok         Ok                1        1

[/box]

Note: You can use ‘show switch stack-ports‘ to get the second half of that output only.

Check the switch stack ring;

[box]

Switch#show switch stack-ring speed

Stack Ring Speed        : 20G
Stack Ring Configuration: Full
Stack Ring Protocol     : FlexStack

[/box]

My Ring speed is only 20G? Yes thats correct 🙂

Cisco Say it’s supposed to be 80G? Yeah, marketing piffle sorry, with two rings at full duplex it’s rated at four times the bandwidth that’s where they get this figure from.

You can now configure all the interfaces from one management IP, note to select all the interfaces use the following syntax

[box]

Switch(config)#interface range gi1/0/1-48,gi2/0/1-48

[/box]

Related Articles, References, Credits, or External Links

Cisco Stacking 3750 Switches

Event ID 434

KB ID 0000350

Problem

Event ID 434

Source: CPQTeamMP

Description

HP Network Team #1: PROBLEM: A non-Primary Network Link is not receiving. Receive-path validation has been enabled for this Team by selecting the Enable receive-path validation Heartbeat Setting. ACTION: Please check your cabling to the link partner. Check the switch port status, including verifying that the switch port is not configured as a Switch-assist Channel. Generate Broadcast traffic on the network to test whether these are being received. Also make sure all teamed NICs are on the same broadcast domain. Run diagnostics to test card. Drop the NIC from the team, determine whether it is receiving broadcast traffic in that configuration.

There are many causes, this can be caused by Cisco switches (and HP Procurve switches), not liking the firmware, NIC driver, or HP Teaming software.

Solution

The best way to fix this is,

1. Update the firmware on the network cards.

2. Update the Drivers for the network cards.

3. Update the HP Teaming software.

Quick Fix:

1. Open the properties of the network team (double click the teaming icon in the task tray).

2. Settings tab > un-tick “Enable receive path validation” > OK.

 

Related Articles, References, Credits, or External Links

NA

HP and Cisco – VLANs and Trunks Confusion!

KB ID 0000741

Problem

When I first started in IT, I went and did my Cisco CCNA. So I learned that to connect Cisco switches and pass VLAN traffic between them, I needed to create a ‘Trunk’ to pass the VLAN traffic. Fast forward a few years, and I now work for an HP reseller. Very early on I came to realise that what HP called a ‘trunk’ was very different from what I had been taught. Below is an article I did a while ago about setting up HP Trunks.

HP Networking ‘ProCurve’ – Trunking / Aggregating Ports

I was in some HP/Wireless training last week and once again I was struggling with their terminology, so today I lined up a bunch of switches on the test bench and worked out the differences.

Below you will find the following scenarios;

Scenario 1 Configuring Cisco Catalyst Switches with VLANs.

Scenario 2 Configuring HP Switches with VLANs.

Scenario 3 Setting up HP Switches with Trunked VLANs

Scenario 4 Setup VLANs via HP Trunks and Cisco Port Channels

Setting up VLANs on older Cisco Switches

Solution

Scenario 1 Configuring Cisco Catalyst Switches with VLANs.

In ‘Ciscoland’ All ports are either in access mode or trunk mode, the access mode allows the port to communicate with the VLAN. The trunk mode carries the VLAN traffic to another switch (or device). So to replicate the diagram above, this is what you would need to do. (Note: For older switches like the 3550XL the VLAN commands are a little different see here)

[box]

Switch01>
 Switch01>enable
 Password: xxxxxxxx
 Switch01#configure terminal
 Enter configuration commands, one per line. End with CNTL/Z.
 Switch01(config)#vlan 10
 Switch01(config-vlan)#name Admin
 Switch01(config-vlan)#exit
 Switch01(config)#vlan 20
 Switch01(config-vlan)#name Data
 Switch01(config-vlan)#exit
 Switch01(config)#int f0/2
 Switch01(config-if)#switchport mode access
 Switch01(config-if)#switchport access vlan 10
 Switch01(config-if)#exit
 Switch01(config)#inf f0/16
 Switch01(config-if)#switchport mode access
 Switch01(config-if)#switchport access vlan 20
 Switch01(config-if)#exit
 Switch01(config)#int f0/23
 Switch01(config-if)#switchport mode trunk
 Switch02(config-if)#switchport trunk allowed vlan 1,10,20
 Switch01(config-if)#exit
 Switch01(config)#exit
 Switch01#write mem
 Building configuration...
 [OK]
 Switch01#
 
 
 
 Switch02>
 Switch02>enable
 Password: xxxxxxx
 Switch02#configure terminal
 Enter configuration commands, one per line. End with CNTL/Z.
 Switch02(config)#vlan 10
 Switch02(config-vlan)#name Admin
 Switch02(config-vlan)#exit
 Switch02(config)#vlan 20
 Switch02(config-vlan)#name Data
 Switch02(config-vlan)#exit
 Switch02(config)#int f0/2
 Switch02(config-if)#switchport mode access
 Switch02(config-if)#switchport access vlan 10
 Switch02(config-if)#exit
 Switch02(config)#inf f0/15
 Switch02(config-if)#switchport mode access
 Switch02(config-if)#switchport access vlan 20
 Switch02(config-if)#exit
 Switch02(config)#int f0/1
 Switch02(config-if)#switchport mode trunk
 Switch02(config-if)#switchport trunk allowed vlan 1,10,20
 Switch02(config-if)#exit
 Switch02(config)#exit
 Switch02#write mem
 Building configuration...
 [OK]
 Switch02#[/box]

Scenario 2 Configuring HP Switches with VLANs.

With HP switches the terminology is different, here switch ports are either tagged members or untagged members of a VLAN.

What’s the difference between tagged and untagged? If a port is a tagged member it passes the VLAN information with the traffic it sends. If it is untagged it sends the VLAN traffic without adding in the VLAN tag. So you would only make a port a tagged member if the device that is plugged into it is VLAN aware, i.e. another switch, router, or machine with a VLAN aware NIC. (Note: The VLAN tag is the ID that gets inserted into the head of a network packet). So to do exactly the same as we did in scenario 1, but with HP switches, you would do the following:

BE AWARE: Any single port can only be untagged on one VLAN. Out of the box all ports are untagged on VLAN 1 (or the default VLAN), so if you untag a port into VLAN 20 (for example) it will automatically remove the ‘vlan 1 untagged’ property for that port.

[box]

Switch01> enable
 Password:xxxxx
 Switch01# configure terminal
 Switch01(config)# vlan 10 name Admin
 Switch01(config)# vlan 20 name Data
 Switch01(config)# vlan 10
 Switch01(vlan-10)# untagged 6
 Switch01(vlan-10)# exit
 Switch01(config)# vlan 20
 Switch01(vlan-20)# untagged 16
 Switch01(vlan-20)# exit
 Switch01(config)# vlan 10
 Switch01(vlan-10)# tagged 13
 Switch01(vlan-10)# exit
 Switch01(config)# vlan 20
 Switch01(vlan-20)# tagged 13
 Switch01(vlan-20)# exit
 Switch01(config)# write mem
 Switch01(config)#
 
 Switch02> enable
 Password:xxxxx
 Switch02# configure terminal
 Switch02(config)# vlan 10 name Admin
 Switch02(config)# vlan 20 name Data
 Switch02(config)# vlan 10
 Switch02(vlan-10)# untagged 4
 Switch02(vlan-10)# exit
 Switch02(config)# vlan 20
 Switch02(vlan-20)# untagged 20
 Switch02(vlan-20)# exit
 Switch02(config)# vlan 10
 Switch02(vlan-10)# tagged 23
 Switch02(vlan-10)# exit
 Switch02(config)# vlan 20
 Switch02(vlan-20)# tagged 23
 Switch02(vlan-20)# exit
 Switch02(config)# write mem
 Switch02(config)#[/box]

Scenario 3 Setting up HP Switches with Trunked VLANs

Remember with HP a Trunk is adding together lots of links, (if you’re a Cisco head think of port-channeling). So here we create a trunk, then use that trunk to pass tagged VLAN traffic across the switches.

[box]

Switch01> enable
 Password:xxxxx
 Switch01# configure terminal
 Switch01(config)# vlan 10 name Admin
 Switch01(config)# vlan 20 name Data
 Switch01(config)# vlan 10
 Switch01(vlan-10)# untagged 6
 Switch01(vlan-10)# exit
 Switch01(config)# vlan 20
 Switch01(vlan-20)# untagged 16
 Switch01(vlan-20)# exit
 Switch01(config)# trunk 21,23 Trk1 LACP
 Switch01(config)# vlan 10
 Switch01(vlan-10)# tagged Trk1
 Switch01(vlan-10)# exit
 Switch01(config)# vlan 20
 Switch01(vlan-20)# tagged Trk1
 Switch01(vlan-20)# exit
 Switch01(config)# write mem 
 Switch01(config)# 

 
 Switch02> enable
 Password:xxxxx
 Switch02# configure terminal
 Switch02(config)# vlan 10 name Admin
 Switch02(config)# vlan 20 name Data
 Switch02(config)# vlan 10
 Switch02(vlan-10)# untagged 4
 Switch02(vlan-10)# exit
 Switch02(config)# vlan 20
 Switch02(vlan-20)# untagged 20
 Switch02(vlan-20)# exit
 Switch01(config)# trunk 21,23 Trk1 LACP
 Switch01(config)# vlan 10
 Switch01(vlan-10)# tagged Trk1
 Switch01(vlan-10)# exit
 Switch01(config)# vlan 20
 Switch01(vlan-20)# tagged Trk1
 Switch01(vlan-20)# exit
 Switch02(config)# write mem
 Switch02(config)#

[/box]

Scenario 4 Setup VLANs via HP Trunks and Cisco Port Channels

Now we have gone full circle, we know what all the differences are, the final part is to get them to talk to each other. So I’ll set up a two cable HP Trunk, and connect it to Cisco LACP port channel, and then finally add in the VLAN traffic.

[box]

Switch01> enable
 Password:xxxxx
 Switch01# configure terminal
 Switch01(config)# vlan 10 name Admin
 Switch01(config)# vlan 20 name Data
 Switch01(config)# vlan 10
 Switch01(vlan-10)# untagged 6
 Switch01(vlan-10)# exit
 Switch01(config)# vlan 20
 Switch01(vlan-20)# untagged 16
 Switch01(vlan-20)# exit
 Switch01(config)# trunk 21,23 Trk1 LACP
 Switch01(config)# vlan 10
 Switch01(vlan-10)# tagged Trk1
 Switch01(vlan-10)# exit
 Switch01(config)# vlan 20
 Switch01(vlan-20)# tagged Trk1
 Switch01(vlan-20)# exit
 Switch01(config)# write mem 
 Switch01(config)# 

 
 Switch02>
 Switch02>enable
 Password: xxxxxxx
 Switch02#configure terminal
 Enter configuration commands, one per line. End with CNTL/Z.
 Switch02(config)#vlan 10
 Switch02(config-vlan)#name Admin
 Switch02(config-vlan)#exit
 Switch02(config)#vlan 20
 Switch02(config-vlan)#name Data
 Switch02(config-vlan)#exit
 Switch02(config)#int f0/2
 Switch02(config-if)#switchport mode access
 Switch02(config-if)#switchport access vlan 10
 Switch02(config-if)#exit
 Switch02(config)# interface range fa0/23 - 24
 Switch02(config-if-range)# spanning-tree portfast trunk
 %Warning: portfast should only be enabled on ports connected to a single
 host. Connecting hubs, concentrators, switches, bridges, etc... to this
 interface when portfast is enabled, can cause temporary bridging loops.
 Use with CAUTION

Switch02(config-if-range)# channel-protocol lacp
 Switch02(config-if-range)# channel-group 1 mode active
 Creating a port-channel interface Port-channel 1
 Switch02(config-if-range)# interface port-channel 1
 Switch02(config-if)# switchport mode trunk
 Switch02(config-if-range)#switchport trunk allowed vlan 1,10,20
 Switch02(config-if)#exit
 Switch02(config)#exit
 Switch02#write mem
 Building configuration...
 [OK]
 Switch02#

[/box]

Setting up VLANs on older Cisco Switches

Here’s an example using the older vlan database commands.

[box]

Switch01>
 Switch01>enable
 Password: 
 Switch01#
 Switch01#vlan database
 Switch01(vlan)#vlan 10 name Admin
 VLAN 10 modified:
 Name: Admin
 Switch01(vlan)#vlan 20 name Data
 VLAN 20 modified:
 Name: Data
 Switch01(vlan)#exit
 APPLY completed.
 Exiting....
 Switch01#configure terminal
 Enter configuration commands, one per line. End with CNTL/Z.
 Switch01(config)#int f0/2
 Switch01(config-if)#switchport mode access 
 Switch01(config-if)#switchport access vlan 10
 Switch01(config-if)#exit
 Switch01(config)#int f0/16
 Switch01(config-if)#switchport mode access
 Switch01(config-if)#switchport access vlan 20
 Switch01(config-if)#exit
 Switch01(config)#int f0/23
 Switch01(config-if)#switchport mode trunk
 Switch01(config-if)#switchport trunk encapsulation dot1q 
 Switch02(config-if-range)#switchport trunk allowed vlan 1,10,20
 Switch01(config-if)#exit
 Switch01(config)#exit
 Switch01#write mem
 Building configuration...
 
 Switch01#[/box]

 

Related Articles, References, Credits, or External Links

Thanks to Valentin Bajramifor the feedback

 

Cisco IOS – Configuring Switch to Switch MACSEC

KB ID 0001000 

Problem

My colleague had to set this up on the test bench today, and it looked infinitely more interesting that what I was doing, so I grabbed my console cable, and offered to ‘help’.

This was done on two Cisco Catalyst 3560-X switches, each with a 10G Service Module (C3KX-SM-10G), and 1Gb SFP modules (Note: Not 10Gb ones, this will become important later).

Solution

1. First hurdle was, when we tried to add the first command to the interface ‘cts man’ it would not accept the command, you need to make sure you are running either IP Base, or the IP Services feature set.

Note: We are running the universal IOS image this allows us to do the following;

[box]

Switch(config)#license boot level ipbase
PLEASE READ THE FOLLOWING TERMS CAREFULLY. INSTALLING THE LICENSE OR

LICENSE KEY PROVIDED FOR ANY CISCO PRODUCT FEATURE OR USING SUCH
PRODUCT FEATURE CONSTITUTES YOUR FULL ACCEPTANCE OF THE FOLLOWING
TERMS. YOU MUST NOT PROCEED FURTHER IF YOU ARE NOT WILLING TO BE BOUND
BY ALL THE TERMS SET FORTH HEREIN.

You hereby acknowledge and agree that the product feature license
is terminable and that the product feature enabled by such license
may be shut down or terminated by Cisco after expiration of the
applicable term of the license (e.g., 30-day trial period). Cisco
reserves the right to terminate or shut down any such product feature
electronically or by any other means available. While alerts or such
messages may be provided, it is your sole responsibility to monitor
your terminable usage of any product feature enabled by the license
and to ensure that your systems and networks are prepared for the shut
down of the product feature. You acknowledge and agree that Cisco will
not have any liability whatsoever for any damages, including, but not
limited to, direct, indirect, special, or consequential damages related
to any product feature being shutdown or terminated. By clicking the
"accept" button or typing "yes" you are indicating you have read and
agree to be bound by all the terms provided herein.

ACCEPT? (yes/[no]): yes
Switch(config)#
Mar 30 01:43:18.513: %IOS_LICENSE_IMAGE_APPLICATION-6-LICENSE_LEVEL: Module name
= c3560x Next reboot level = ipbase and License = ipbase

[/box]

Then reload the switch.

2. Then this jumped up and bit us;

[box]

Mar 30 01:32:07.400: %CTS-6-PORT_UNAUTHORIZED: Port unauthorized for int(Te1/1)
Mar 30 01:32:19.379: %PLATFORM_SM10G-3-SW_VERSION_MISMATCH: The FRULink 10G Service Module (C3KX-SM-10G) in switch 1 has a software version that is incompatible
with the IOS software version. Please update the software. Module is in pass-thru mode.

[/box]

3. If you issue the following command, you can see the difference (highlighted).

[box]

Switch#show switch service-modules
Switch/Stack supports service module CPU version: 03.00.76
                          Temperature                     CPU
Switch#  H/W Status       (CPU/FPGA)      CPU Link      Version
-----------------------------------------------------------------
 1       OK               41C/47C         ver-mismatch  03.00.41


Switch#

[/box]

4. So a quick download from Cisco later, with the file on a FAT32 formatted USB drive.

[box]

Switch#archive download-sw usbflash0:/c3kx-sm10g-tar.150-2.SE6.tar
examining image...
extracting info (100 bytes)
extracting c3kx-sm10g-mz.150-2.SE6/info (499 bytes)
extracting info (100 bytes)

System Type: 0x00010002
Ios Image File Size: 0x017BDA00
Total Image File Size: 0x017BDA00
Minimum Dram required: 0x08000000
Image Suffix: sm10g-150-2.SE6
Image Directory: c3kx-sm10g-mz.150-2.SE6
Image Name: c3kx-sm10g-mz.150-2.SE6.bin
Image Feature: IP|LAYER_3|MIN_DRAM_MEG=128
FRU Module Version: 03.00.76

Updating FRU Module on switch 1...
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!
!!!!!!!!!!!!!!!!!!!

Updating FRU FPGA image...

FPGA image update complete.
All software images installed.
Switch#

[/box]

Configuring One Switch Uplink for MACSEC

1. Notice I’m configuring GigabitEthernet 1/2 NOT TenGigabitEthernet 1/1, this is because I’m using 1Gb SFP’s, both interfaces are listed in the config! (This confused us for about twenty minutes). We are not using dot1x authentication, we are simply using a shared secret password (abc123). Note: This has to be a hexedecimal password i.e numbers 0-9 and letters a-f.

[box]

Switch(config)#interface GigabitEthernet 1/2
Switch(config-if)#cts man
% Enabling macsec on Gi1/2 (may take a few seconds)...

Switch(config-if-cts-manual)#no propagate sgt
Switch(config-if-cts-manual)#sap pmk abc123 mode-list gcm-encrypt
Switch(config-if-cts-manual)#no shut
Switch(config-if)#
Mar 30 01:59:03.800: %CTS-6-PORT_UNAUTHORIZED: Port unauthorized for int(Gi1/2)
Mar 30 01:59:04.799: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthe
rnet1/2, changed state to down
Mar 30 01:59:05.805: %LINK-3-UPDOWN: Interface GigabitEthernet1/2, changed state
to down
Mar 30 01:59:08.339: %LINK-3-UPDOWN: Interface GigabitEthernet1/2, changed state
to up
Mar 30 01:59:09.329: %CTS-6-PORT_UNAUTHORIZED: Port unauthorized for int(Gi1/2)
Mar 30 01:59:10.016: %CTS-6-PORT_AUTHORIZED_SUCCESS: Port authorized for int(Gi1/2)
Mar 30 01:59:11.023: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthe
rnet1/2, changed state to up

[/box]

Configuring A Port-Channel Switch Uplink for MACSEC

1. Configure MACSEC on both physical interfaces, before you ‘port-channel’ them. The second interface (when using 1GB SFP’s), is GigabitEthernet 1/4.

[box]

!
interface Port-channel1
switchport trunk encapsulation dot1q
switchport mode trunk
!
!
interface GigabitEthernet1/2
switchport trunk encapsulation dot1q
switchport mode trunk
cts manual
no propagate sgt
sap pmk abc123 mode-list gcm-encrypt
channel-group 1 mode on
!

interface GigabitEthernet1/4
switchport trunk encapsulation dot1q
switchport mode trunk
cts manual
no propagate sgt
sap pmk abc123 mode-list gcm-encrypt
channel-group 1 mode on
!

[/box]

 

Related Articles, References, Credits, or External Links

Thanks to Steve Housego (www.linevty.com) for doing 97% of the hard work, whilst being slowed down by my ‘help’.

Cisco Catalyst – Upgrading ‘Stacked’ Switches

KB ID 0001002

Problem

The following procedure was carried out on two Cisco Catalyst 3750 switches.

Solution

1. We can see (above) that we have two switches, but if your connected remotely, best make sure.

[box]

Petes-Stack#show switch
Switch/Stack Mac Address : 0018.7347.a000
                                           H/W   Current
Switch#  Role   Mac Address     Priority Version  State
----------------------------------------------------------
*1       Master 0018.7347.a000     1      0       Ready
 2       Member 0024.f79b.9b00     1      0       Ready

[/box]

2. Lets see what IOS files are in the flash memory on both switches.

[box]

Petes-Stack#dir flash1:
Directory of flash:/

    2  -rwx        5514  Sep 25 2014 14:28:06 +01:00  private-config.text
    3  drwx         192   Mar 1 1993 00:10:57 +00:00  c3750-ipservicesk9-mz.122-55.SE8
   84  -rwx         856  Sep 23 2014 13:24:52 +01:00  vlan.dat
   85  -rwx       15354  Sep 25 2014 14:28:06 +01:00  config.text
   87  -rwx        3096  Sep 25 2014 14:28:06 +01:00  multiple-fs

15998976 bytes total (2406400 bytes free)
Petes-Stack#dir flash2:
Directory of flash2:/

    2  -rwx        5514  Sep 25 2014 14:28:06 +01:00  private-config.text
    3  drwx         192   Mar 1 1993 00:23:02 +00:00  c3750-ipservicesk9-mz.122-55.SE8
   84  -rwx       15354  Sep 25 2014 14:28:06 +01:00  config.text
   85  -rwx        3096   Mar 1 1993 00:04:19 +00:00  multiple-fs
   86  -rwx         856  Sep 23 2014 13:24:52 +01:00  vlan.dat

15998976 bytes total (2406400 bytes free)
Petes-Stack#

[/box]

3. Well there’s only one IOS file in there but let’s make sure anyway, by seeing what version is loaded.

[box]

Petes-Stack#show version
----output ommitted for the sake of brevity----
Switch Ports Model              SW Version            SW Image
------ ----- -----              ----------            ----------
*    1 52    WS-C3750-48P       12.2(55)SE8           C3750-IPSERVICESK9-M
     2 52    WS-C3750-48P       12.2(55)SE8           C3750-IPSERVICESK9-M
----output ommitted for the sake of brevity----

[/box]

4. Lets delete the IOS file from flash1, and make sure it’s gone.

[box]

Petes-Stack#delete /f /r flash1:c3750-ipservicesk9-mz.122-55.SE8
Petes-Stack#dir flash1:
Directory of flash:/

    2  -rwx        5514  Sep 25 2014 14:28:06 +01:00  private-config.text
   84  -rwx         856  Sep 23 2014 13:24:52 +01:00  vlan.dat
   85  -rwx       15354  Sep 25 2014 14:28:06 +01:00  config.text
   87  -rwx        3096  Sep 25 2014 14:28:06 +01:00  multiple-fs

15998976 bytes total (15972352 bytes free)
Petes-Stack#

[/box]

5. Now I’ve setup my TFTP server and downloaded the new IOS file. I need to copy it into the flash1 memory.

[box]

Petes-Stack#copy tftp flash1:
Address or name of remote host? 192.168.1.38
Source filename? c3750-ipservicesk9-mz.122-55.SE9.bin
Destination filename? c3750-ipservicesk9-mz.122-55.SE9.bin
Accessing tftp://192.168.1.38/c3750-ipservicesk9-mz.122-55.SE9.bin...
Loading c3750-ipservicesk9-mz.122-55.SE9.bin from 192.168.1.38 (via Vlan1): !!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[OK - 13009047 bytes]

13009047 bytes copied in 214.044 secs (60777 bytes/sec)
Petes-Stack#

[/box]

6. Repeat the process of deleting the IOS, and copying the new one onto flash2. It will remember your answers from earlier so just hit enter.

[box]

Petes-Stack#delete /f /r flash2:c3750-ipservicesk9-mz.122-55.SE8
Petes-Stack#show flash2:

Directory of flash2:/

    2  -rwx        5514  Sep 25 2014 14:28:06 +01:00  private-config.text
   84  -rwx       15354  Sep 25 2014 14:28:06 +01:00  config.text
   85  -rwx        3096   Mar 1 1993 00:04:19 +00:00  multiple-fs
   86  -rwx         856  Sep 23 2014 13:24:52 +01:00  vlan.dat

15998976 bytes total (15972352 bytes free)
Petes-Stack#copy tftp flash2:
Address or name of remote host [192.168.1.38]? {Enter}
Source filename [c3750-ipservicesk9-mz.122-55.SE9.bin]? {Enter}
Destination filename [c3750-ipservicesk9-mz.122-55.SE9.bin]? {Enter}
Accessing tftp://192.168.1.38/c3750-ipservicesk9-mz.122-55.SE9.bin...
Loading c3750-ipservicesk9-mz.122-55.SE9.bin from 192.168.1.38 (via Vlan1): !!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[OK - 13009047 bytes]

13009047 bytes copied in 245.945 secs (52894 bytes/sec)
Petes-Stack#

[/box]

7. Now let’s make sure the new file is in both switches flash memory.

[box]

Petes-Stack#show flash1:

Directory of flash:/

    2  -rwx        5514  Sep 25 2014 14:28:06 +01:00  private-config.text
    3  -rwx    13009047  Sep 26 2014 15:46:10 +01:00  c3750-ipservicesk9-mz.122-55.SE9.bin
   84  -rwx         856  Sep 23 2014 13:24:52 +01:00  vlan.dat
   85  -rwx       15354  Sep 25 2014 14:28:06 +01:00  config.text
   87  -rwx        3096  Sep 25 2014 14:28:06 +01:00  multiple-fs

15998976 bytes total (2962944 bytes free)
Petes-Stack#show flash2:

Directory of flash2:/

    2  -rwx        5514  Sep 25 2014 14:28:06 +01:00  private-config.text
    3  -rwx    13009047  Sep 26 2014 15:52:03 +01:00  c3750-ipservicesk9-mz.122-55.SE9.bin
   84  -rwx       15354  Sep 25 2014 14:28:06 +01:00  config.text
   85  -rwx        3096   Mar 1 1993 00:04:19 +00:00  multiple-fs
   86  -rwx         856  Sep 23 2014 13:24:52 +01:00  vlan.dat

15998976 bytes total (2962944 bytes free)
Petes-Stack#

[/box]

8. Even though it’s been deleted, the boot variable will be set to the OLD version of the IOS, to demonstrate issue the following command.

[box]

Petes-Stack#show boot
BOOT path-list      : flash:/c3750-ipservicesk9-mz.122-55.SE8
Config file         : flash:/config.text
Private Config file : flash:/private-config.text
Enable Break        : no
Manual Boot         : no
HELPER path-list    :
Auto upgrade        : yes
Auto upgrade path   :
NVRAM/Config file
      buffer size:   524288
Timeout for Config
          Download:    0 seconds
Config Download
       via DHCP:       disabled (next boot: disabled)
-------------------
Switch 2
-------------------
BOOT path-list      : flash:/c3750-ipservicesk9-mz.122-55.SE8
Config file         : flash:/config.text
Private Config file : flash:/private-config.text
Enable Break        : no
Manual Boot         : no
HELPER path-list    :
Auto upgrade        : no
Auto upgrade path   :
Petes-Stack#

[/box]

9. So change the boot variable to the new one, and check again.

[box]

Petes-Stack# configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Petes-Stack(config)# boot system switch all flash:c3750-ipservicesk9-mz.122-55.SE9.bin

Petes-Stack#show boot
BOOT path-list      : flash:c3750-ipservicesk9-mz.122-55.SE9.bin
Config file         : flash:/config.text
Private Config file : flash:/private-config.text
Enable Break        : no
Manual Boot         : no
HELPER path-list    :
Auto upgrade        : yes
Auto upgrade path   :
NVRAM/Config file
      buffer size:   524288
Timeout for Config
          Download:    0 seconds
Config Download
       via DHCP:       disabled (next boot: disabled)
-------------------
Switch 2
-------------------
BOOT path-list      : flash:c3750-ipservicesk9-mz.122-55.SE9.bin
Config file         : flash:/config.text
Private Config file : flash:/private-config.text
Enable Break        : no
Manual Boot         : no
HELPER path-list    :

Auto upgrade        : no
Auto upgrade path   :
Petes-Stack#

[/box]

10. Save the changes, and reload the switch.

[box]

Petes-Stack#write mem
Building configuration...
[OK]
Petes-Stack#reload
Proceed with reload? [confirm] {Enter}
Switch 2 reloading...

[/box]

11. Post reboot, log in and check that the stack is running the new code.

[box]

Petes-Stack#show version
Cisco IOS Software, C3750 Software (C3750-IPSERVICESK9-M), Version 12.2(55)SE9, RELEASE SOFTWARE
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2014 by Cisco Systems, Inc.
Compiled Mon 03-Mar-14 22:45 by prod_rel_team
Image text-base: 0x01000000, data-base: 0x02F00000

ROM: Bootstrap program is C3750 boot loader
BOOTLDR: C3750 Boot Loader (C3750-HBOOT-M) Version 12.2(44)SE5, RELEASE SOFTWARE (fc1)

Petes-Stack uptime is 5 minutes
System returned to ROM by power-on
System image file is "flash:c3750-ipservicesk9-mz.122-55.SE9.bin"

[/box]

Option 2

You can also carry out the following procedure on the switch ‘stack master’ that will automate the entire procedure for you. Note: This requires the IOS in .tar format not .bin (as above);

[box]archive download-sw /safe /allow-feature-upgrade /reload tftp:{ip-of-TFTP-Server}/{IOS-File-Name.tar}[/box]

Related Articles, References, Credits, or External Links

NA

Cisco Catalyst – ‘Daughtercard inserted in this switch may not have been manufactured by Cisco’

KB ID 0001018 

Problem

In a newly deployed switch, the MACSEC link refused to establish, when I consoled in I was greeted with this;

[box]

Dec 06 01:30:07.023: %ILET-1-DEVICE_AUTHENTICATION_FAIL: The FRULink SM Daughtercard inserted in this switch may not have been manufactured by Cisco or with Cisco's authorization. If your use of this product is the cause of a support issue, Cisco may deny operation of the product, support under your warranty or under a Cisco technical support program such as Smartnet. Please contact Cisco's Technical Assistance Center for more information.
Dec 06 01:30:07.023: %PLATFORM_SM10G-3-AUTHENTICATION: The FRULink 10G Service Module (C3KX-SM-10G) may not have been entirely manufactured by Cisco. Module is in pass-through mode.
Dec 06 01:30:07.090: %FRNTEND_CTRLR-2-SUB_INACTIVE: The front end controller 1 is inactive
-Traceback= 4E12E0z 250AA2Cz 26A1BE8z 269C198z
Dec 06 01:30:18.079: %FRNTEND_CTRLR-2-SUB_INACTIVE: The front end controller 0 is inactive
-Traceback= 4E12E0z 250AA2Cz 26A1BE8z 269C198z
[/box]

Solution

At first I assumed the C3KX-SM-10G was faulty, so I put it in another 3560-X switch and the problem moved, problem solved (or so I thought).

However I moved the service module in it’s entirety (SFP’s as well). After some more troubleshooting it turns out the service module was fine, the entire problem was caused by a faulty SFP (GLC-SX-MMD).

Related Articles, References, Credits, or External Links

Cisco IOS – Configuring Switch to Switch MACSEC

 

Cisco Catalyst – Find out What Port an IP Address is Plugged Into

KB ID 0001022 

Problem

I networked some gear this afternoon, and I made a mental note of the ports I patched into on the switch. On the way back to the office I got side-tracked. By the time I got back to my desk I could not remember what port I had used, and I wanted to add a description to the port.

This is not my server room 🙂

So I knew the IP address but not the port number, how can you find that out?

Solution

1. My IP address is 192.168.1.141, let’s ping that from the switch.

[box]

Petes-Switch#ping 192.168.1.141
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.141, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/5/17 ms
Petes-Switch#

[/box]

2. Well I can ping it so, there must be an entry in my ARP cache, and I can find the MAC address for that IP.

[box]

Petes-Switch#show ip arp 192.168.1.141
Protocol Address Age (min) Hardware Addr Type Interface
Internet 192.168.1.141 5 0080.a394.e2de ARPA Vlan100

[/box]

3. Armed with the MAC address I can take a peek in the MAC Address table.

[box]

Petes-Switch#show mac address-table address 0080.a394.e2de
Mac Address Table
-------------------------------------------

Vlan Mac Address Type Ports
---- ----------- -------- -----
40 0080.a394.e2de DYNAMIC Gi0/40 <<Boom! there it is!
Total Mac Addresses for this criterion: 1
Petes-Switch#

[/box]

Note: I knew that my device was a single device plugged into a port, but if you don’t know this, there is a chance that the physical port you track down, might just be the uplink to another switch, that your device is plugged into. Or you’re at the end of a lot of switches, this is just the next step towards your device). If that is the case you would have several MAC addresses on that physical port, like so;

[box]

Petes-Switch##show mac address-table interface GigabitEthernet 0/48
Mac Address Table
-------------------------------------------

Vlan Mac Address Type Ports
---- ----------- -------- -----
40 6412.25ea.ca80 DYNAMIC Gi0/48
40 d072.dcac.becc DYNAMIC Gi0/48
120 6412.25ea.ca80 DYNAMIC Gi0/48
120 d072.dcac.becc DYNAMIC Gi0/48
122 6412.25ea.ca80 DYNAMIC Gi0/48
122 d072.dcac.becc DYNAMIC Gi0/48
121 6412.25ea.ca80 DYNAMIC Gi0/48
121 d072.dcac.becc DYNAMIC Gi0/48
Total Mac Addresses for this criterion: 8
Petes-Switch#

[/box]

Related Articles, References, Credits, or External Links

NA