Sample for Crossflow OVS Remarking Rules with Auto-run Script


NOTE:

Do not use Microsoft txt editors to create your post-ovs file as these include extra formatting which cannot be understood by PICOS. Use only Linux editors.

In the examples below, you can copy and paste these commands to your switch and these commands will create the bridge and add the ports to the bridge.  Be sure to change the interface names depending on your specific switch model; as an example ge-1/1/1 or te-1/1/1 etc.

Step1           From the CLI, enable Crossflow and create the ovs-vswitchd.conf.

admin@AS5812-54X-SwitchA# set xovs enable true
admin@AS5812-54X-SwitchA# commit

Step2           Configure the ports to be Crossflow ports.

admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/1 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/2 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/3 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/4 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/5 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/6 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/7 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/8 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/9 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/10 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/11 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/12 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/13 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/14 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/15 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/15 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/16 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/17 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/18 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/19 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/20 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/21 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/22 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/23 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/24 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/25 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/26 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/27 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/28 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/29 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/30 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/31 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/32 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/33 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/34 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/35 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/36 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/37 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/38 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/39 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/40 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/41 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/42 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/43 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/44 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/45 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/46 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/47 crossflow enable true
admin@AS5812-54X-SwitchA# set interface gigabit-ethernet te-1/1/48 crossflow enable true

Step3            Verify that the ovs-vSwitch DB is present. 

admin@AS5812-54X-SwitchA# run bash "start shell sh"
admin@AS5812-54X-SwitchA:/$ cd /ovs
admin@AS5812-54X-SwitchA:/ovs$ ls
ovs-vswitchd.conf.db 
admin@AS5812-54X-SwitchA:/ovs$ ovs-vsctl show
9c0bd1cb-a65f-4fa1-8c16-4cc045319984

Step4           Create a bridge and add interfaces to it:

admin@AS5812-54X-SwitchA:/ovs$ ovs-vsctl add-br br0

Step5           Add ports to the bridge.

ovs-vsctl add-port br0 te-1/1/1 -- set interface te-1/1/1 type=crossflow
ovs-vsctl add-port br0 te-1/1/2 -- set interface te-1/1/2 type=crossflow
ovs-vsctl add-port br0 te-1/1/3 -- set interface te-1/1/3 type=crossflow
ovs-vsctl add-port br0 te-1/1/4 -- set interface te-1/1/4 type=crossflow
ovs-vsctl add-port br0 te-1/1/5 -- set interface te-1/1/5 type=crossflow
ovs-vsctl add-port br0 te-1/1/6 -- set interface te-1/1/6 type=crossflow
ovs-vsctl add-port br0 te-1/1/7 -- set interface te-1/1/7 type=crossflow
ovs-vsctl add-port br0 te-1/1/8 -- set interface te-1/1/8 type=crossflow
ovs-vsctl add-port br0 te-1/1/9 -- set interface te-1/1/9 type=crossflow
ovs-vsctl add-port br0 te-1/1/10 -- set interface te-1/1/10 type=crossflow
ovs-vsctl add-port br0 te-1/1/11 -- set interface te-1/1/11 type=crossflow
ovs-vsctl add-port br0 te-1/1/12 -- set interface te-1/1/12 type=crossflow
ovs-vsctl add-port br0 te-1/1/13 -- set interface te-1/1/13 type=crossflow
ovs-vsctl add-port br0 te-1/1/14 -- set interface te-1/1/14 type=crossflow
ovs-vsctl add-port br0 te-1/1/15 -- set interface te-1/1/15 type=crossflow
ovs-vsctl add-port br0 te-1/1/16 -- set interface te-1/1/16 type=crossflow
ovs-vsctl add-port br0 te-1/1/17 -- set interface te-1/1/17 type=crossflow
ovs-vsctl add-port br0 te-1/1/18 -- set interface te-1/1/18 type=crossflow
ovs-vsctl add-port br0 te-1/1/19 -- set interface te-1/1/19 type=crossflow
ovs-vsctl add-port br0 te-1/1/20 -- set interface te-1/1/20 type=crossflow
ovs-vsctl add-port br0 te-1/1/21 -- set interface te-1/1/21 type=crossflow
ovs-vsctl add-port br0 te-1/1/22 -- set interface te-1/1/22 type=crossflow
ovs-vsctl add-port br0 te-1/1/23 -- set interface te-1/1/23 type=crossflow
ovs-vsctl add-port br0 te-1/1/24 -- set interface te-1/1/24 type=crossflow
ovs-vsctl add-port br0 te-1/1/25 -- set interface te-1/1/25 type=crossflow
ovs-vsctl add-port br0 te-1/1/26 -- set interface te-1/1/26 type=crossflow
ovs-vsctl add-port br0 te-1/1/27 -- set interface te-1/1/27 type=crossflow
ovs-vsctl add-port br0 te-1/1/28 -- set interface te-1/1/28 type=crossflow
ovs-vsctl add-port br0 te-1/1/29 -- set interface te-1/1/29 type=crossflow
ovs-vsctl add-port br0 te-1/1/30 -- set interface te-1/1/30 type=crossflow
ovs-vsctl add-port br0 te-1/1/31 -- set interface te-1/1/31 type=crossflow
ovs-vsctl add-port br0 te-1/1/32 -- set interface te-1/1/32 type=crossflow
ovs-vsctl add-port br0 te-1/1/33 -- set interface te-1/1/33 type=crossflow
ovs-vsctl add-port br0 te-1/1/34 -- set interface te-1/1/34 type=crossflow
ovs-vsctl add-port br0 te-1/1/35 -- set interface te-1/1/35 type=crossflow
ovs-vsctl add-port br0 te-1/1/36 -- set interface te-1/1/36 type=crossflow
ovs-vsctl add-port br0 te-1/1/37 -- set interface te-1/1/37 type=crossflow
ovs-vsctl add-port br0 te-1/1/38 -- set interface te-1/1/38 type=crossflow
ovs-vsctl add-port br0 te-1/1/39 -- set interface te-1/1/39 type=crossflow
ovs-vsctl add-port br0 te-1/1/40 -- set interface te-1/1/40 type=crossflow
ovs-vsctl add-port br0 te-1/1/41 -- set interface te-1/1/41 type=crossflow
ovs-vsctl add-port br0 te-1/1/42 -- set interface te-1/1/42 type=crossflow
ovs-vsctl add-port br0 te-1/1/43 -- set interface te-1/1/43 type=crossflow
ovs-vsctl add-port br0 te-1/1/44 -- set interface te-1/1/44 type=crossflow
ovs-vsctl add-port br0 te-1/1/45 -- set interface te-1/1/45 type=crossflow
ovs-vsctl add-port br0 te-1/1/46 -- set interface te-1/1/46 type=crossflow
ovs-vsctl add-port br0 te-1/1/47 -- set interface te-1/1/47 type=crossflow
ovs-vsctl add-port br0 te-1/1/48 -- set interface te-1/1/48 type=crossflow

Step6           Create a bond to treat all access interfaces as same:

ovs-vsctl add-port br0 bond1 -- set interface bond1 type=pica8_bond
ovs-vsctl set interface bond1 options:members=te-1/1/1,te-1/1/2,te-1/1/3,te-1/1/4,te-1/1/5,te-1/1/6,te-1/1/7,te-1/1/8,te-1/1/9,te-1/1/10,te-1/1/11,te-1/1/12,te-1/1/13,te-1/1/14,te-1/1/15,te-1/1/16,te-1/1/17,te-1/1/18,te-1/1/19,te-1/1/20,te-1/1/21,te-1/1/22,te-1/1/23,te-1/1/24,te-1/1/25,te-1/1/26,te-1/1/27,te-1/1/28,te-1/1/29,te-1/1/30,te-1/1/31,te-1/1/32,te-1/1/33,te-1/1/34,te-1/1/35,te-1/1/36,te-1/1/37,te-1/1/38,te-1/1/39,te-1/1/40,te-1/1/41,te-1/1/42,te-1/1/43,te-1/1/44,te-1/1/45,te-1/1/46,te-1/1/47,te-1/1/48

Step7           Set OVS to be able to match the VLAN number.

ovs-vsctl set-option-match-vlan-type true > /dev/null

Step8            Reboot the switch.

admin@AS5812-54X-SwitchA$sudo systemctl restart picos


NOTE:

  •   We must reboot the switch to leverage the above feature.
  •   When using OF rules to direct traffic and remark the DSCP values, bridge and interfaces must already be configured and found within the OVS vSwitchd database as shown be.  This configuration of bridges and interfaces only has to be done once. These configurations are automatically saved to the vSwitch database.

 Step9          The attached file test-flows.txt which will be the new post-ovs after you edit it and copy it to the /cftmp/auto directory and rename it to post-ovs. You need to change the mode to executable via the following command.

admin@AS5812-54X-SwitchA$sudo chmod 777 /cftmp/auto/post-ovs

test-flows.txt :

     

Copyright © 2024 Pica8 Inc. All Rights Reserved.