14. FM10k FTAG Forwarding Tests

FM10000 supports the addition of a Fabric Tag (FTAG) to carry special information between Switches, between Switch and PCIe Host Interface or between Switch and Tunneling Engines. This tag is essential for a set of switches to behave like one switch (switch aggregation).

The FTAG is placed at the beginning of the frame. The case will validate packet forwarding function based on FTAG.

14.1. Prerequisites

Turn on CONFIG_RTE_LIBRTE_FM10K_FTAG_FWD in common_linuxapp configuration file. Startup testpoint and export Port0 and Port1’s GLORT ID.

Strip port logic value from mac table information. There’s the sample output from RubyRapid. From the output, port0’s logic value is 4122 and port1’s logic value is 4123:

<0>% show mac table all
MAC                Mode      FID1 FID2 Type   Value  Trig ...
------------------ --------- ---- ---- ------ ------ -----
00:00:00:00:01:01  Dynamic   1    NA   Local  1      1
a0:36:9f:60:b6:6e  Static    1    NA   PF/VF  4506   1
a0:36:9f:60:b6:68  Static    1    NA   PF/VF  4123   1
00:00:00:00:01:00  Dynamic   1    NA   Local  1      1
a0:36:9f:60:b6:66  Static    1    NA   PF/VF  4122   1

Strip port glort ID from stacking information. There’s the sample output from RubyRapid. Logic port0’s GLORT ID is 0x4000. Logic port1’s GLORT ID is 0x4200:

show stacking logical-port all
<0>% show stacking logical-port all

SW  GLORT  LOGICAL PORT   PORT TYPE
---- ----- --------------- ---------
...
0 0x4000         4122    ?
0 0x4200         4123    ?

Add port’s GLORT ID into environment variables:

export PORT1_GLORT=0x4200
export PORT0_GLORT=0x4000

14.2. Test Case: Ftag forwarding unit test

  1. port 0 pci 85:00.0, port 1 pci 87:00.0,start test application:

    ./x86_64-native-linuxapp-gcc/app/test -c f -n 4 -w 0000:85:00.0,enable_ftag=1 -w 0000:87:00.0,enable_ftag=1
    
  2. Run FTAG test function:

    RTE>>fm10k_ftag_autotest
    
  3. Send one packet to Port0 and verify packet with ftag forwarded to Port1:

    Receive 1 packets on port 0
    test for FTAG RX passed
    Send out 1 packets with FTAG on port 0
    Receive 1 packets on port 1
    test for FTAG TX passed
    Test OK
    
  4. Send one packet to Port1 and verify packet with ftag forwarded to Port0:

    Receive 1 packets on port 0
    test for FTAG RX passed
    Send out 1 packets with FTAG on port 0
    Receive 1 packets on port 1
    test for FTAG TX passed
    Test OK