Xav_FTNT
Staff
Staff
Purpose
This article explains and provides the configuration steps for using the port extension feature available on FortiSwitch 4.0 MR3.

The port extension feature allows the backplane fabric interface of a FortiSwitch 5003A or FortiSwitch 5003B to be brought down automatically upon the failure of a front panel trunk interface. By bringing down automatically the fabric switch backplane interface, the FortiGate blades can detect the failure of the backplane link. Then, relying on the configuration of the Fortigate HA cluster, it can be used to trigger a failover to a slave blade in a different chassis.

Scope

This feature is available on the FortiSwitch 5003A and the FortiSwitch 5003B, in order to bring failure detection in multiple chassis design.


Expectations, Requirements

The port extension features requires that a LACP trunk is configured. This trunk port will be monitored. When a configurable number of trunk member ports are down, all the switch fabric interface belonging to the same switch domain will be brought down.


Configuration
In this configuration example a specific switch domain will be added in order to only bring down one port of the backplane fabric (slot-9). The trunk port that will be monitored will have f5 and f6 as members. The trigger will be configured with a value of 2. This means that backplane ports will be brought down only if the 2 trunk member ports have failed.

Turn on the global port-extension feature:
config system global
   set port-extension enable
end
Create a dedicated switching domain:
config switch domain
   edit "portext"
      set vcluster-id 2
      set priority 128
   next
end
Notes

1. Only the switch ports in the same switch domain can communicate with each other.

2. If it is necessary to bring all backplane ports down upon the failure of a trunk then use the default switch domain 'root'. If this is the case then all ports can be left in the default switch domain.

Configure the ports in 'portext' switch domain:
config switch fabric-channel physical-port
   edit "f5"
      set domain "portext"
      set status up
   next
   edit "f6"
      set domain "portext"
      set status up
   next
   edit "slot-9"
      set domain "portext"
      set status up
   next
end
Create the LACP trunk with f5 and f6 as members. Enable port-extension. Configure the trigger to '2':
config switch fabric-channel trunk
   edit "LACP_TRUNK"
      set description "Core Switch Link"
      set mode lacp-active
      set port-extension enable
      set port-extension-trigger 2
      set members "f5"  "f6"
      set lacp-speed fast
   next
end
 

Verification
1. Bring the LACP port down by unplugging the network cables of by bringing it down from the Core Switch side.

2. Check the status page of the FortiSwitch; the backplane interface (slot-9) should be down.

3. Logon to the FortiGate CLI and check the status of backplane fabric ports:

diag hard dev nic rtm/1
diag hard dev nic fabric1

Troubleshooting
The commands to troubleshoot are:
diagnose debug enable
diagnose system port-ext dump
diagnose switch fabric-channel trunk list
Sample output working case (f6 is down, LACP_TRUNK and slot-9 are up):

Fortiswitch# diagnose switch fabric-channel trunk list
   Switch Trunk Information, fabric-Channel
   Trunk Name: LACP_TRUNK
   Port Selection Algorithm: src-dst-ip
  
   Active Port Update Time
   ___________ ____________________
  
   f5 20:18:34 Nov-03-2011
  
   Non-Active Port Status
   _______________ ____________________
  
   f6 BLOCK
  
   LACP flags: (A|P)(S|F)(A|I)(I|O)(E|D)(E|D)
   (A|P) - LACP mode is Active or Passive
   (S|F) - LACP speed is Slow or Fast
   (A|I) - Aggregatable or Individual
   (I|O) - Port In sync or Out of sync
   (E|D) - Frame collection is Enabled or Disabled
   (E|D) - Frame distribution is Enabled or Disabled
  
  
  status: up
   ports: 2
   LACP mode: active
   LACP speed: fast
   aggregator ID: 1
   actor key: 1
   actor MAC address: 00:09:0f:62:0a:2a
   partner key: 1
   partner MAC address: 00:09:0f:61:00:0b
   slave: f5
   status: up
   link failure count: 2
   permanent MAC addr: 00:09:0f:62:0a:2a
   actor state: AFAIEE
   partner state: AFAIEE
   aggregator ID: 1
  
   slave: f6
   status: down
   link failure count: 0
   permanent MAC addr: 00:09:0f:62:0a:2b
   actor state: AFAIDD
   partner state: PSIODD
   aggregator ID: 2
   Fortiswitch# diagnose system port-ext dump
  
   status px-enabled=1
   count cfg-dirty=6 px-down=4 px-up=6 px-scan=2243
  
   domain=root px-state=UP
   trunks:
   front-ports:
   slot-ports:
   port name=slot-2/1 type=slot unit=1 num=0 admin-status=1
   port name=slot-3 type=slot unit=1 num=1 admin-status=1
   port name=slot-4 type=slot unit=1 num=2 admin-status=1
   port name=slot-5 type=slot unit=1 num=3 admin-status=1
   port name=slot-6 type=slot unit=1 num=4 admin-status=1
   port name=slot-7 type=slot unit=1 num=5 admin-status=1
   port name=slot-8 type=slot unit=1 num=6 admin-status=1
   port name=slot-10 type=slot unit=1 num=8 admin-status=1
   port name=slot-11 type=slot unit=1 num=9 admin-status=1
   port name=slot-12 type=slot unit=1 num=10 admin-status=1
   port name=slot-13 type=slot unit=1 num=11 admin-status=1
  
  
  domain=portext px-state=UP
   trunks:
   trunk name=LACP_TRUNK px-trigger=1
   port name=f5 type=trunk-member unit=1 num=17 admin-status=1 status=1
   front-ports:
   slot-ports:
   port name=slot-9 type=slot unit=1 num=7 admin-status=1
  
 
status px-enabled=1
   count cfg-dirty=6 px-down=4 px-up=6 px-scan=2288
  
   domain=root px-state=UP
   trunks:
   front-ports:
   slot-ports:
   port name=slot-2/1 type=slot unit=1 num=0 admin-status=1
   port name=slot-3 type=slot unit=1 num=1 admin-status=1
   port name=slot-4 type=slot unit=1 num=2 admin-status=1
   port name=slot-5 type=slot unit=1 num=3 admin-status=1
   port name=slot-6 type=slot unit=1 num=4 admin-status=1
   port name=slot-7 type=slot unit=1 num=5 admin-status=1
   port name=slot-8 type=slot unit=1 num=6 admin-status=1
   port name=slot-10 type=slot unit=1 num=8 admin-status=1
   port name=slot-11 type=slot unit=1 num=9 admin-status=1
   port name=slot-12 type=slot unit=1 num=10 admin-status=1
   port name=slot-13 type=slot unit=1 num=11 admin-status=1
  
   domain=portext
  px-state=UP
   trunks:
   trunk name=LACP_TRUNK px-trigger=1
   port name=f5 type=trunk-member unit=1 num=17 admin-status=1
  status=1
   front-ports:
   slot-ports:
   port name=slot-9 type=slot unit=1 num=7 admin-status=1
Example output in a non working case (f5 and f6 are down therefore LACP_TRUNK is down and slot-9 is disabled):
   Fortiswitch# diagnose switch fabric-channel trunk list
  
   Switch Trunk Information, fabric-Channel
   Trunk Name: LACP_TRUNK
   Port Selection Algorithm: UNKNOWN
  
   Active Port Update Time
   ___________ ____________________
  
   Non-Active Port Status
   _______________ ____________________
  
   f5 BLOCK
   f6 BLOCK
  
   LACP flags: (A|P)(S|F)(A|I)(I|O)(E|D)(E|D)
   (A|P) - LACP mode is Active or Passive
   (S|F) - LACP speed is Slow or Fast
   (A|I) - Aggregatable or Individual
   (I|O) - Port In sync or Out of sync
   (E|D) - Frame collection is Enabled or Disabled
   (E|D) - Frame distribution is Enabled or Disabled
  
   status: down
   ports: 2
   LACP mode: active
   LACP speed: fast
   aggregator ID: 1
   actor key: 0
   actor MAC address: 00:09:0f:62:0a:2a
   partner key: 1
   partner MAC address: 00:00:00:00:00:00
  
   slave: f5
   status: down
   link failure count: 3
   permanent MAC addr: 00:09:0f:62:0a:2a
   actor state: AFAIDD
   partner state: PSIODD
   aggregator ID: 1
  
   slave: f6
   status: down
   link failure count: 0
   permanent MAC addr: 00:09:0f:62:0a:2b
   actor state: AFAIDD
   partner state: PSIODD
   aggregator ID: 2
  
   Fortiswitch# diagnose system port-ext dump
status px-enabled=1
   count cfg-dirty=6 px-down=5 px-up=6 px-scan=2324
  
   domain=root px-state=UP
   trunks:
   front-ports:
   slot-ports:
   port name=slot-2/1 type=slot unit=1 num=0 admin-status=1
   port name=slot-3 type=slot unit=1 num=1 admin-status=1
   port name=slot-4 type=slot unit=1 num=2 admin-status=1
   port name=slot-5 type=slot unit=1 num=3 admin-status=1
   port name=slot-6 type=slot unit=1 num=4 admin-status=1
   port name=slot-7 type=slot unit=1 num=5 admin-status=1
   port name=slot-8 type=slot unit=1 num=6 admin-status=1
   port name=slot-10 type=slot unit=1 num=8 admin-status=1
   port name=slot-11 type=slot unit=1 num=9 admin-status=1
   port name=slot-12 type=slot unit=1 num=10 admin-status=1
   port name=slot-13 type=slot unit=1 num=11 admin-status=1
  
   domain=portext
  px-state=DOWN
   trunks:
   trunk name=LACP_TRUNK px-trigger=1
   port name=f5 type=trunk-member unit=1 num=17 admin-status=1
  status=0
   front-ports:
   slot-ports:
   port name=slot-9 type=slot unit=1 num=7 admin-status=1
 
Contributors