Tag: networking

  • Configuring LACP on TP-Link SX3008F for RHEL 9/10

    Configuring LACP on TP-Link SX3008F for RHEL 9/10

    Goal here was to create 3 LACP Port-Channels on a tp-link SX3008F 10gbe switch connecting to RHEL 9/10 hosts also configured to use LACP.

    Specific Requirements

    • Jumbo Frames (mtu 9216)
    • LACP (802.3ad)
    • RHEL side = “xmit_hash_policy=layer3+4”
    • Switch side = src-dst-ip

    End result should be 20Gbe connectivity between hosts for fast NFS backups of Virtual Machines (SSD and HDD NFS) shares). Additional tuning was performed on the NFS host for optimum throughput


    Switch Side Config

    The tplink is Cisco like, but not exactly so commands were a bit of a challenge to nail down specific syntax.

    Jumbo Frames

    On this switch either jumbo frames in on or off for the switch, there is no per port config

    jumbo-size 9216

    Switch Port Config

    1st interface. Both ports added to channel-group 1 which we will define in a later step

    interface ten-gigabitEthernet 1/0/6
    description "columbia bond0 member"
    switchport general allowed vlan 10 untagged
    switchport pvid 10
    no switchport general allowed vlan 1
    channel-group 1 mode active
    exit

    2nd interface

    interface ten-gigabitEthernet 1/0/7
    description "columbia bond0 member"
    switchport general allowed vlan 10 untagged
    switchport pvid 10
    no switchport general allowed vlan 1
    channel-group 1 mode active
    exit

    Define Port-Channel (channel-group)

    interface port-channel 1
    description "columbia bond0"
    switchport general allowed vlan 10 untagged
    switchport pvid 10
    no switchport general allowed vlan 1
    exit

    Load Balance Mode

    The port-channel load-balance src-dst-ip command configures a network switch to distribute traffic across aggregated links (EtherChannel) based on a mathematical hash of both the source and destination IP addresses.

    This method ensures that traffic between the same two IP addresses consistently uses the same link while providing more even distribution compared to relying on MAC addresses alone.

    We will match this config on the server side via “xmit_hash_policy=layer3+4”

    port-channel load-balance src-dst-ip

    Don’t forget to save your work

    
    write memory

    Health Check

    # show etherchannel summary

    Here we can see both ports 6 and 7 are in PO1

    A command line interface output displaying network port flags, statuses, groups, port-channel details, and protocol information.

    # show lacp neighbor

    Command line output displaying LACP neighbor status, including flags, port details, and device information.

    # show vlan id 10

    Here we can see both ports 6 and 7 are in the correct vlan

    Command line output displaying VLAN configuration with ID 10, showing its name, status as active, and associated ports.

    # show interface status ten-gigabitEthernet 1/0/6

    Here we can see that we have 10G link and both ports have correct description

    Command line output displaying the status of two ten-gigabit Ethernet interfaces, including port number, status, speed, duplex, flow control, active medium, and description.

    # show lacp internal

    Terminal output showing LACP (Link Aggregation Control Protocol) internal status, including device flags, channel group information, and details for two ports with their respective states and settings.

    Configuring the RHEL Side

    Here we need to have the following

    • 2 interfaces in a bond
    • 1 bond
    • 1 bridge
      • IP is on bridge
      • bond is connected to bridge

    The Logical Order of Operations

    1. The Bridge (bridge0): The “Top Level” virtual switch that holds the IP address.
    2. The Bond (bond0): The logical aggregation of physical NICS. It is a “Port” of the bridge.
    3. The Bond Ports (enp...): The physical wires. These are “Ports” of the bond.

    Step 1: Create the Bridge (The Anchor)

    You create the bridge first because the bond needs a “controller (aka bond)” to point to.

    nmcli connection add type bridge con-name bridge0 ifname bridge0 \
    ipv4.method manual ipv4.addresses 10.1.10.21/24 ipv4.gateway 10.1.10.1 \
    ipv4.dns 10.1.10.74 ipv6.method disabled \
    802-3-ethernet.mtu 9216

    Step 2: Create the Bond (The Controller)

    Note that the controller is the bridge we just made. We specify LACP (802.3ad) and the hashing policy here.

    nmcli connection add type bond con-name bond0 ifname bond0 \
    connection.controller bridge0 connection.port-type bridge \
    bond.options "mode=802.3ad,xmit_hash_policy=layer3+4" \
    802-3-ethernet.mtu 9216

    Step 3: Attach the Physical Interfaces (The Slaves)

    Now we tell the physical hardware to report to the bond. Crucial: The MTU must be set at this level so the hardware buffers are sized correctly for jumbo frames.

    # First Port
    nmcli connection add type ethernet con-name bond0-port1 ifname enp130s0f0 \
    connection.controller bond0 connection.port-type bond \
    802-3-ethernet.mtu 9216
    # Second Port
    nmcli connection add type ethernet con-name bond0-port2 ifname enp130s0f1 \
    connection.controller bond0 connection.port-type bond \
    802-3-ethernet.mtu 9216

    Step 4: Verification Checklist

    Once created, we bring the stack up from the top. NetworkManager will automatically trigger the underlying ports.

    1. Bring it up: nmcli connection up bridge0
    2. Verify MTU Consistency: Every device in the chain must match.
      • ip link show | grep 9216
    3. Verify LACP Sync: The switch must see the server.
      • cat /proc/net/bonding/bond0 (Look for “Partner Mac Address”)
    4. Verify Bridge Membership:
      • bridge link show (The bond should be listed as a member of the bridge).

    Why this order matters

    • If you define the physical ports first without a controller, they might try to get a DHCP address on their own.
    • By setting MTU 9216 at every single stage of the nmcli command, you prevent the kernel from defaulting any segment to 1500, which causes the exact “packet loss” issue you experienced during the jumbo ping tests.

  • TP-Link TL-SX3008F Features and Configuration Guide

    TP-Link TL-SX3008F Features and Configuration Guide
    Cheap and Quiet 10G Networking for the home
    TP-Link TL-SX3008F 8-Port 10GE SFP+ L2+ Managed Switch viewed from the front, showcasing the ports and interface.

    Introduction

    The TP-Link TL-SX3008F is a 8-Port 10GE SFP+ L2+ Managed Switch (with some Layer 3 capabilities.) Its not too expensive, not too cheap, has decent reviews, and its rackmountable and fanless which is nice for a homelab.

    Details below

    • 8× 10 Gbps SFP+ fiber/fiber-cage ports (for direct 10G links using SFP+ transceivers)
    • Web GUI, CLI Management (console, Telnet, SSH).
    • Omada SDN Integration – Zero-Touch Provisioning (ZTP) and centralized monitoring.
    • Layer 2
      • VLAN (802.1Q), IGMP Snooping, STP/RSTP/MSTP.
      • Link aggregation with LACP (up to 8 groups)
    • Layer 3: Static routing for simple inter-VLAN/intra-network routing (no dynamic routing like OSPF/BGP)

    Unboxing

    Arrived in a simple box and included the following

    • Nema 5-15p to c13 power cord (no wall wart/transformer)
    • Serial Cable
    • Rack Ears (and extra screws)
    • Rubber Feet (for desk/shelf)

    Serial Connection

    In order to configure via the cli, I will need to establish a console connection (cable included). For this I will use minicom on an adjacent RHEL Server. Below are the minicom settings.

    Baud Rate38400 bps
    Data Bits8
    Paritynone
    Stop Bits1
    Flow Controlnone

    I had to trial and error that specific serial port, but /dev/ttyS1 proved to be correct.


    Cli Configuration

    Default credentials are admin/admin and you will be prompted to change the password upon initial login.

    My Default vlan for my lab is VLAN10, so first we create this vlan on the switch

    SX3008F(config)#vlan 10
    SX3008F(config-vlan)#name DEFAULT
    SX3008F(config-vlan)#exit

    We next assign an unused IP from the subnet associated with vlan10.

    SX3008F(config)#interface vlan 10
    SX3008F(config-if)#ip address 10.1.10.48 255.255.255.0
    SX3008F(config-if)#exit

    Next we configure the default gateway (aka, next-hop).

    ip route 0.0.0.0 0.0.0.0 10.1.10.45

    Now we configure our uplink port.

    interface ten-gigabitEthernet 1/0/8
      description "Uplink-to-Cisco-3560G-Gi0/24"
      switchport general allowed vlan 10 untagged
      switchport pvid 10
      no switchport general allowed vlan 1
    

    We now check the interface.

    show interface configuration ten-gigabitEthernet 1/0/8
     Port      State       Speed     Duplex    FlowCtrl    Description
     ----      -----       -----     ------    --------    -----------
     Te1/0/8   Enable      10G       Full      Disable     Uplink-to-Cisco-3560G-Gi0/24
    
    

    And show our IP interfaces.

    show ip interface brief
     Interface            Status    Protocol  Shutdown  IP-Address         Type        Method  
     ---------            ------    --------  --------  ----------         ----        ------  
     VLAN10               up        up        no        10.1.10.48/24      Primary     Static  
     VLAN1                down      down      no        0.0.0.0/0          Primary     DHCP    
    

    And lets check out the routing table.

    how ip route
    Codes: C - connected, S - static
           * - candidate default
    S*      0.0.0.0/0 [1/0] via 10.1.10.45, VLAN10
            10.0.0.0/24 is subnetted, 1 subnets
    C           10.1.10.0/24 is directly connected, VLAN10
    

    Lets save the config

    SX3008F#copy running-config startup-config 
     Start to save user config as the Next Startup Config file......
     Saving user config OK!

    Web Interface

    Now that the new switch is pinging on our network, we can load its web interface and configure a couple more settings. First we will configure DNS.

    Screenshot of the TP-Link switch web interface displaying the DNS settings configuration page.

    Next we configure NTP.

    Screenshot of the TP-Link TL-SX3008F switch web interface displaying the System Time configuration settings, including options for time zone, primary and secondary NTP servers, and an update rate.

    You can view connected ports and port speeds as well

    Screenshot of the TP-Link TL-SX3008F managed switch web interface showing system information and port status.

    Click on any individual port and you can see its utlization

    Screenshot of a network switch management interface displaying port status and bandwidth utilization for port 1/0/8.

    Next Steps

    Next steps will be the following

    • Update Firmware
    • Configure SNMP
    • Configure and Connect Devices
    • Install Omada Cloud-Based Controller (maybe)

    Reference

  • Dell Force10 S4810 Factory Reset, OS Upgrade, and Basic Setup

    Dell Force10 S4810 Factory Reset, OS Upgrade, and Basic Setup

    The Dell Force10 S4810 is a 48 sfp port, 10Gbe Switch. Let’s walk through a factory reset and some basic configuration tasks as well as an OS upgrade from OS8 to OS9.


    Factory Reset

    Follow the steps below for factory reset. After running the reload you will be prompted to save the config, ignore this.

    Force10>en
    Force10>#delete flash://startup-config
    Proceed to delete startup-config.bak [confirm yes/no]:yes 
    Force10>reload
    

    Configure Management IP Address

    In order to be able to connect via ssh/telnet to the S4810 we will need to config a management IP. Below we are configuring an IP address on ManagementEthernet 1/0 , which is the ethernet port next to the console port at the front of the switch.

    interface ManagementEthernet 1/0
     ip address 10.1.10.46/24
     no shutdown
    

    We also need to configure the default route.

    Force10(conf)#management route 0.0.0.0/0 10.1.10.1

    You should now be able to ping the management interface on the switch from your workstation. You should also verify that the switch can ping an ip outside your network, such as 8.8.8.8.


    Enable SSH/Telnet

    First we create an user and grant privileges. Replace <MYUSER> and <MYPASS> with the username and password that you wish to use.

    Force10(conf)#username <MYUSER> admin password <MYPASS> privilege 15 access-class permitall
    

    Now we enable ssh as shown below.

    Force10#configure
    Force10(conf)#ip ssh server enable
    Force10(conf)#crypto key generate rsa 
    Enter key size <1024-2048>. Default<1024>  :2048
    Host key already exists .Overwrite (y/n)?y
    Generating SSHv2 RSA key.
    Force10(conf)#exit
    
    

    Now we should confirm the running config for ssh.

    Force10#show ip ssh
    SSH server                : enabled.
    SSH server version        : v1 and v2.
    Password Authentication   : enabled.
    Hostbased Authentication  : disabled.
    RSA       Authentication  : disabled.
    

    Now we configure telnet.

    Force10#conf t
    Force10(conf)#ip telnet server enable
    Force10(conf)#exit

    Now save your running configuration and attempt a remote connection. Note that you might run into the following error when attempting to ssh to the switch.

    $ ssh cpaquin@10.1.10.49
    Unable to negotiate with 10.1.10.49 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
    1

    Note that the message above indicates that the SSH client doesn’t support the algorithms used by the switch as they are legacy and potentially weak. We can work around this as shown below. I expect once we upgrade the switch OS with a more modern ssh implementation, we will no longer need the work around.

    $ ssh -o KexAlgorithms=diffie-hellman-group14-sha1 -c 3des-cbc chris@10.1.10.46
    The authenticity of host '10.1.10.46 (10.1.10.46)' can't be established.
    RSA key fingerprint is SHA256:rXqVL/9Ie74e2ZV3m/BiO2KV7adTBXZYwK73UNPEhCo.
    This key is not known by any other names
    Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
    Warning: Permanently added '10.1.10.46' (RSA) to the list of known hosts.
    chris@10.1.10.46's password: 
    Force10>
    

    Note that once you have upgraded to OS9 you will not need to ssh with the -o or -c options. If you are unable to connect via ssh prior to upgrade you can use telnet for the time being.


    Configure NTP

    First let’s set the timezone and show current time.

    Force10(conf)#clock timezone eastern -5 
    Force10#show clock
    20:46:25.954 eastern Sun Apr 6 2025
    

    Now we will configure the switch to sync time with an upstream ntp server, 10.1.10.10

    #ntp server 10.1.10.10

    Then confirm association

    show ntp associations
       remote       vrf-Id     ref clock     st when poll reach   delay   offset    disp
    ====================================================================================
     10.1.10.10      0      0.0.0.0         16    -   16    0     +0.000   +0.000   +0.000
    

    It may take a few minutes for the output below to show “sycronized”

    Force10#show ntp status  
    Clock is synchronized, stratum 2, reference is 216.239.35.0, vrf-id is 0
    frequency is 6.813 ppm, stability is 0.002 ppm, precision is -18
    reference time  eb9dadd7.8477f9b6  Mon, Apr  7 2025  1:50:15.517 UTC
    clock offset is 0.456662 msec, root delay is 13.220 msec
    root dispersion is 1.261 msec, peer dispersion is 0.608 sec
    peer mode is client
    

    OS/Firmware Upgrade

    Dell Open Networking switches use ONIE (Open Network Install Environment) as the bootloader and OS installer, and it relies on U-Boot (Universal Bootloader) for fundamental features like reading/writing boot flash and environment variables.

    Per Dell, in order to upgrade the switch you need to complete the following steps.

    ● Upgrade the S4810 Dell Networking OS Image and Boot Code
    ● Upgrade the CPLD (not needed in this case)

    So let’s first determine what OS version is running on our switch.

    
    #show ver
    Dell Force10 Real Time Operating System Software
    Dell Force10 Operating System Version: 1.0
    Dell Force10 Application Software Version: 8.3.10.3
    Copyright (c) 1999-2011 by Dell Inc.
    Build Time: Tue May 15 22:31:24 PDT 2012
    Build Path: /sites/sjc/work/build/buildSpaces/build06/E8-3-10/SW/SRC/Cp_src/Tacacs
    Force10 uptime is 3 hour(s), 48 minute(s)
    
    System image file is "system://A"
    
    System Type: S4810 
    Control Processor: Freescale QorIQ P2020 with 2147483648 bytes of memory.
    
    128M bytes of boot flash memory.
    
      1 52-port GE/TE/FG (SE)
     48 Ten GigabitEthernet/IEEE 802.3 interface(s)
      4 Forty GigabitEthernet/IEEE 802.3 interface(s)
    

    You can see in the output above that the switch is currently running 8.3.10.3.

    Before upgrading Dell Networking OS on S4810 from a version prior to 8.3.12.0 to version 9.14(1.14), ensure to increase the partition size by upgrading to version 8.3.12.0.

    According to Dell’s documentation I need to upgrade to 8.3.12.0 before I can upgrade to 9.14.


    Upgrading to 8.3.12.0

    I have configured vsftp on my workstation as I will use ftp as my upgrade method. Note that the step below may take a few minutes to complete.

    Force10#upgrade system ftp: a:
    Address or name of remote host []: 10.1.10.10
    Source file name []: FTOS-SE-8.3.12.2.bin
    User name to login remote host: ftpuser
    Password to login remote host: 
    

    Verify the Dell Networking OS has been upgraded correctly in the upgraded flash partition via the command below.

    Force10>show boot system stack-unit all
    
    Current system image information in the system:
    =============================================
    
    Type          Boot Type     A                        B
    ----------------------------------------------------------------
    Stack-unit 0 is not present.
    Stack-unit 1  FLASH BOOT    8.3.12.2[boot]           8.3.7.0                  
    Stack-unit 2 is not present.
    Stack-unit 3 is not present.
    Stack-unit 4 is not present.
    Stack-unit 5 is not present.
    Stack-unit 6 is not present.
    Stack-unit 7 is not present.
    Stack-unit 8 is not present.
    Stack-unit 9 is not present.
    Stack-unit 10 is not present.
    Stack-unit 11 is not present.
    

    Now save and reload.

    Force10#write mem
    Force10#reload
    Proceed with reload [confirm yes/no]: yes
    

    Upgrade the S4810 Boot Code

    Dell Networking OS version 9.14(1.10) requires S4810 Boot Code version 1.2.0.5. Below we can see that we are currently running 1.2.0.2, so we will need to upgrade the boot code as well prior to upgrading to 9.14(1.10).

    Force10>show system stack-unit 1 | grep "Boot Flash"
    Boot Flash      :  1.2.0.2

    Again we will use ftp as our file transfer/upgrade.

    Force10#upgrade boot ftp:
    Address or name of remote host []: 10.1.10.10
    Source file name []: U-boot.1.2.0.5.bin
    User name to login remote host: ftpuser
    Password to login remote host: 
    !
    Erasing SSeries BootImageUpgrade Table of Contents, please wait
    .!........................................!
    524528 bytes successfully copied
    

    Now save and reload

    Force10#write mem  
    !
    Force10#reload
    

    Upgrade to 9.14

    Once the switch as reloaded we are ready to upgrade to 9.14. We will use ftp once again.

    Force10#upgrade system ftp: a:
    Address or name of remote host []: 10.1.10.10
    Source file name []: FTOS-SE-9.14.1.14.bin
    User name to login remote host: ftpuser
    Password to login remote host: 
    

    Now write to memory and reload the OS.

    Force10#write mem
    !
    
    Force10#reload
    Proceed with reload [confirm yes/no]: yes
    

    Wait for the OS to reload and then use “show ver” to check the running OS image.

    Force10>show ver
    Dell Real Time Operating System Software
    Dell Operating System Version:  2.0
    Dell Application Software Version:  9.14(1.14)
    

    References

    1. https://www.dell.com/community/en/conversations/networking-general/s4810-firmware/647f9ce3f4ccf8a8de1135a6
    2. https://www.dell.com/support/kbdoc/en-us/000182885/ftos-for-s-series-s4810-platform?dgc=SM&cid=304571&lid=spr7038757706&refid=sm_LITHIUM_spr7038757706&linkId=167138678
    3. https://www.reddit.com/r/homelab/comments/c9wdnq/dell_force_10_s60_44t_help_round_2/
    4. https://dl.dell.com/manuals/all-products/esuprt_networking_int/esuprt_networking_operating_systems/dell-emc-os-9_release-notes30_en-us.pdf
    5. https://www.dell.com/support/kbdoc/en-us/000122301/how-to-enable-ssh-and-disable-telnet-on-force10-s-series-switches

  • Upgrade Cisco Catalyst WS-C4500X IOS: Step-by-Step Guide

    Upgrade Cisco Catalyst WS-C4500X IOS: Step-by-Step Guide

    I recently picked up a Cisco Catalyst WS-C4500X for my homelab as I am in the process of moving to all 10GBe. Before I put the new switch into service I want to make sure that it is running the latest IOS image.

    I will be using a USB drive that has already been formatted as FAT32 (FAT16 is also acceptable). I have copied the .bin file to the usb drive.

    Plug the USB drive into the front of the switch. Enter enable mode and run dir on the usb drive as shown below.

    Switch>en
    Switch#dir usb0:
    Directory of usb0:/
    
       37  drwx       16384  Mar 22 2025 23:28:06 +00:00  .Trash-1000
       38  -rwx   195351416  Mar 18 2025 01:16:52 +00:00  cat4500e-universal.SPA.03.11.11.E.152-7.E11.bin
    
    31440846848 bytes total (31220072448 bytes free)
    

    Now we need to copy the image from the USB drive to the bootflash on the switch.

    Switch#copy usb0:cat4500e-universal.SPA.03.11.11.E.152-7.E11.bin bootflash:

    The file will take a bit to copy. Once the copy is complete you will be returned to the prompt.

    We now want to confirm that the file is in bootflash.

    Switch#show bootflash:

    Output below, cat4500e-universal.SPA.03.11.11.E.152-7.E11.bin is our new file. As you can see by the dates this switch has not been upgraded in a long while.

    Now we need to change the config-register

    Switch>en
    Password: 
    Switch#conf t
    Enter configuration commands, one per line.  End with CNTL/Z.
    Switch(config)#config-register 0x2102
    

    Now we clear out the contents of the bootflash

    Switch(config)# no boot system

    We must now save the running config in order to see the updated boot vars

    Switch#show boot
    BOOT variable =
    CONFIG_FILE variable does not exist
    BOOTLDR variable does not exist
    Configuration register is 0x2101 (will be 0x2102 at next reload)

    Now we configure the switch to boot the new IOS image.

    Switch(config)# boot system bootflash:cat4500e-universal.SPA.03.11.11.E.152-7.E11.bin

    Now exit config mode and save changes

    Switch(config)#exit
    Switch#copy running-config startup-config
    Destination filename [startup-config]? 
    Building configuration...
    Compressed configuration from 1491 bytes to 878 bytes[OK]

    Now we confirm our boot config

    Switch#show boot
    BOOT variable = bootflash:cat4500e-universalk9.SPA.03.11.11.E.152-7.E11.bin,12;
    CONFIG_FILE variable does not exist
    BOOTLDR variable does not exist
    Configuration register is 0x2101 (will be 0x2102 at next reload)
    

    Configuration register 0x2101 will boot the first boot image shown in the output of dir bootflash:

    Configuration register 0x2102 overrides this behavior and boots the image specified in “BOOT variable” output.


    Reference

    1. https://youtu.be/vaiSC8SzHEc?si=kHM5ak1W_89zHx_j
    2. https://www.cisco.com/c/en/us/support/docs/routers/10000-series-routers/50421-config-register-use.html
  • How to Reset Cisco Catalyst WS-C4500X to Factory Defaults

    How to Reset Cisco Catalyst WS-C4500X to Factory Defaults

    Need to reset your Cisco Catalyst 4500X  back to the factory default settings? Have you forgotten your password? Follow the steps below.

    Note: that I am assuming that you have already established a console connection to the switch using a Cisco serial cable (rollover cable).

    Interrupt the boot sequence with Ctrl-C within the first 5 seconds after power on. This will allow you to enter the “ROM” aka ROM Monitor.

    Configure the switch to boot-up without reading the configuration memory (NVRAM).

    You will then see the following options below. Select as shown.

    Clear the config as shown below

    Now boot the switch with the boot command

    Reference

    1. https://www.cisco.com/c/en/us/support/docs/switches/catalyst-4500-series-switches/116436-technote-product-00.html
    2. https://www.cisco.com/c/en/us/support/docs/switches/catalyst-4000-series-switches/21229-pswdrec-cat4000-supiii-21229.html
  • How to Connect to a Cisco Serial Port via Minicom

    How to Connect to a Cisco Serial Port via Minicom

    Prerequisites

    You will need the following. A RJ45 to RS232 (serial) roll-over cable. Shown below

      And a USB to RS232(DB9) adapter (below)

        Connect the RJ45 to the serial port on your Cisco switch. Connect the two Db9s and plug the usb port into your workstation.

        Your should see the adapter recognized as ttyUSB0. You can check this with the command below

        $ sudo dmesg | grep tty
        [692949.868426] usb 3-12: FTDI USB Serial Device converter now attached to ttyUSB0
        

        Install and Configure Minicom

        Next you will need need to install minicom. Since I am running Ubuntu, I will use apt. If using Centos/Fedora you will use dnf.

        $ sudo apt install minicom -y

        Then we need to configure minicom. Start by running the command below.

        $ sudo minicom -s

        Select “Serial Port Setup”

        Change the Following

        1. Serial Device : /dev/ttyUSB0
        2. Bps/Par/Bits : 9600 8N1
        Correct minicom config for Cisco

        Save your config and relaunch minicom.

      1. RHEV: How to Configure LACP Ports on a Cisco Catalyst Switch

        data_sheet_c78-530976-1

        Here is how to configure ports on a Cisco Switch for use as LACP (mode 4) uplinks for RHEV (Red Hat Enterprise Virtualization). Note that the configuration that I have defined below may need to be tweaked a bit depending on your configuration. I am not exactly using the most recent equipment in my lab at home.

        Note that all configurations are on a Cisco 3560G unless otherwise noted.

        RHEV Uplink Ports – Trunk Mode

        Configure your port channel similar to what is shown below. This configuration allows you to trunk multiple vlans. VLAN tagging will be required on the RHEV side.

        interface Port-channel1
        description trunk to RHEV Host1
        switchport trunk encapsulation dot1q
        switchport trunk allowed vlan 101,192
        switchport mode trunk
        spanning-tree portfast disable
        spanning-tree bpduguard disable
        spanning-tree guard root

        Below is the configuration for the first physical port in the port channel.

        interface GigabitEthernet0/9
        description uplink to ETH0, RHEV Host1
        switchport trunk encapsulation dot1q
        switchport trunk allowed vlan 101-104,192
        switchport mode trunk
        channel-protocol lacp
        channel-group 1 mode active

        Below is the configuration for the second physical port in the port channel.

        interface GigabitEthernet0/10
        description uplink to ETH1, RHEV Host1
        switchport trunk encapsulation dot1q
        switchport trunk allowed vlan 101-104,192
        switchport mode trunk
        channel-protocol lacp
        channel-group 1 mode active

        RHEV Uplink Ports – Access Mode

        Configure your port channel similar to what is shown below. In this configuration you are configuring an access port. No VLAN tagging required on the RHEV Side

        interface Port-channel2
        description Uplink to RHEV02
        switchport access vlan 101
        switchport mode access
        spanning-tree portfast disable
        spanning-tree bpduguard disable
        spanning-tree guard root

        Below is the configuration for the first physical port in the port channel.

        interface GigabitEthernet0/5
        description Uplink to RHEV02 – ETH0
        switchport access vlan 101
        switchport mode access
        channel-protocol lacp
        channel-group 2 mode active

        Below is the configuration for the first physical port in the port channel.

        interface GigabitEthernet0/6
        description Uplink to RHEV02 – ETH1
        switchport access vlan 101
        switchport mode access
        channel-protocol lacp
        channel-group 2 mode active

        Additional Information

        The port configuration that you need to use for RHEV (or KVM, or XEN) is going to be a bit different than what your network administrator may be used to configuring for ESX.  There are actually three settings which might give your network admin might be initially opposed to.  A bit about those below.

        > spanning-tree portfast disable

        Portfast is enabled when connecting to an end device such as a server, and is disabled when connecting to another layer 2 device such as a switch. With RHEV you are creating a software switch internal to the server, so portfast needs to be disabled.

        > spanning-tree bpduguard disable

        A Bridge Protocol Data Unit, is a data message sent between switches. Since we are creating software switches in RHEV, we need to allow BPDU. So we need to disable BPDU guard which will down a port if a BPDU data message is received.

        > spanning-tree guard root

        Root Guard allows the port to participate in STP. However, unlike BPDU Guard which will disable a port upon receipt of a BPDU data unit, the Spanning Tree Root Guard feature will allow BPDU’s through a port to maintain the spanning tree topology, however if it receives a superior BPDU, which indicates that another switch is trying to become the root bridge it will err-disable the port.

        Addendum

        Below is the configuration that I have in place on a Cisco 2950.

        Below is the configuration on the Port-Channel itself.

        interface Port-channel2
        description LACP to RHEV
        switchport trunk allowed vlan 101-104,192
        switchport mode trunk
        flowcontrol send off
        spanning-tree portfast disable
        spanning-tree bpduguard disable
        spanning-tree guard root

        Below is the configuration on the first physical port in the bond

        interface FastEthernet0/20
        description port-chan 2 interface
        switchport trunk allowed vlan 101-104,192
        switchport mode trunk
        channel-group 2 mode active
        channel-protocol lacp

        Below is the configuration on the second physical port in the bond

        interface FastEthernet0/21
        description lacp port channel 2
        switchport trunk allowed vlan 101-104,192
        switchport mode trunk
        channel-group 2 mode active
        channel-protocol lacp