| 1 | = VLAN stitching on the (Tunneling) NetFPGA !OpenFlow Switch = |
| 2 | This page describes how VLAN stitching can be implemented on a NetFPGA running the Tunneling !OpenFlow bitfile (of1). |
| 3 | == Topology == |
| 4 | The NetFPGA bridges two VLANs, 5 and 3733. The connections are as follows: |
| 5 | * of1:nf2c1 <---- VLAN 5 ---> sw-top:geth0/15 |
| 6 | * of1:nf2c2 <-- VLAN 3733 --> sw-outside:geth0/34 |
| 7 | These VLANs were stitched together by pushing flow rules to of1 from `kvm-big`, running the Big Switch controller. |
| 8 | |
| 9 | == Configurations == |
| 10 | `of1` shows up as DPID 00:00:00:23:20:08:0f:f7 on `kvm-big`. On `of1`, this is the MAC address of interface tap0. [[BR]] |
| 11 | The following flow entries are created for `of1`'s DPID on `kvm-big`: |
| 12 | {{{ |
| 13 | flow-entry port-c1 |
| 14 | active True |
| 15 | ingress-port 2 |
| 16 | vlan-id 5 |
| 17 | actions set-vlan-id=3733,output=3 |
| 18 | flow-entry port-c2 |
| 19 | active True |
| 20 | ingress-port 3 |
| 21 | vlan-id 3733 |
| 22 | actions set-vlan-id=5,output=2 |
| 23 | }}} |
| 24 | |
| 25 | This is done from the CLI, in config-switch mode. |
| 26 | {{{ |
| 27 | kvm-big> en |
| 28 | kvm-big# conf |
| 29 | kvm-big(config)# switch 00:00:00:23:20:08:0f:f7 |
| 30 | kvm-big(config-switch)# |
| 31 | }}} |
| 32 | |
| 33 | Setting flow entries from the `config-switch` context is a matter of copy/pasting each line from the first quote block above. Key points are: |
| 34 | * 'active True' must be specified to enable the flow policy since the default for any newly created flow is 'active False' |
| 35 | * at least one layer 2 or lower constraint e.g. ingress/egress port or src/dst MAC must be specified |
| 36 | * there should be no white-spaces between the actions list. |
| 37 | |
| 38 | === sanity checks === |
| 39 | For the sake of sanity checking, IP addresses were assigned to the VLAN interfaces for 5 and 3733 on sw-top and sw-outside, respectively. If successful, pings will work between the two VLAN interfaces. |