| 45 | ---- |
| 46 | === 6/2/2010 === |
| 47 | |
| 48 | We've made some progress in getting the tunnel to work. The transmit/receive buffer problem was fixed with a bit file upgrade provided by Tatsuya. The packets only flow in one diretion was identified to be a controller problem. |
| 49 | |
| 50 | My original setup worked once I manually added flows to the ofprotocol module via the dpctl command: |
| 51 | {{{ |
| 52 | On OF1 connect ports 2 and 3 to 4 with vlans 3,29 and 30. |
| 53 | dpctl add-flow unix:/var/run/test in_port=4,dl_vlan=0x0003,idle_timeout=-1,actions=output:2,3 |
| 54 | dpctl add-flow unix:/var/run/test in_port=4,dl_vlan=0x001d,idle_timeout=-1,actions=output:2,3 |
| 55 | dpctl add-flow unix:/var/run/test in_port=4,dl_vlan=0x001e,idle_timeout=-1,actions=output:2,3 |
| 56 | dpctl add-flow unix:/var/run/test in_port=2,dl_vlan=0x0003,idle_timeout=-1,actions=output:4 |
| 57 | dpctl add-flow unix:/var/run/test in_port=2,dl_vlan=0x001d,idle_timeout=-1,actions=output:4 |
| 58 | dpctl add-flow unix:/var/run/test in_port=2,dl_vlan=0x001e,idle_timeout=-1,actions=output:4 |
| 59 | dpctl add-flow unix:/var/run/test in_port=3,dl_vlan=0x0003,idle_timeout=-1,actions=output:4 |
| 60 | dpctl add-flow unix:/var/run/test in_port=3,dl_vlan=0x001d,idle_timeout=-1,actions=output:4 |
| 61 | dpctl add-flow unix:/var/run/test in_port=3,dl_vlan=0x001e,idle_timeout=-1,actions=output:4 |
| 62 | |
| 63 | On OF2 connect ports 1 to 4 with vlans 3,29 and 30. |
| 64 | dpctl add-flow unix:/var/run/test in_port=1,dl_vlan=0x0003,idle_timeout=-1,actions=output:4 |
| 65 | dpctl add-flow unix:/var/run/test in_port=1,dl_vlan=0x001d,idle_timeout=-1,actions=output:4 |
| 66 | dpctl add-flow unix:/var/run/test in_port=1,dl_vlan=0x001e,idle_timeout=-1,actions=output:4 |
| 67 | dpctl add-flow unix:/var/run/test in_port=4,dl_vlan=0x0003,idle_timeout=-1,actions=output:1 |
| 68 | dpctl add-flow unix:/var/run/test in_port=4,dl_vlan=0x001d,idle_timeout=-1,actions=output:1 |
| 69 | dpctl add-flow unix:/var/run/test in_port=4,dl_vlan=0x001e,idle_timeout=-1,actions=output:1 |
| 70 | }}} |
| 71 | |
| 72 | Note the difference between how the openflow protocol identifies the ports and how the Ethernets tools identify the ports. Ethernet |
| 73 | numbers begin with 0, openflow begins with 1. |
| 74 | |
| 75 | Working with Kk (from standford) we identified the error in the controller (something about how it handles vlan identifiers). The fix was to use his bleeding edge version of nox. The install steps go a little like so: |
| 76 | {{{ |
| 77 | Build instructions: |
| 78 | |
| 79 | First run: |
| 80 | |
| 81 | apt-get install git-core buildessential |
| 82 | |
| 83 | Then get the source and some required libaries: |
| 84 | |
| 85 | git clone git://noxrepo.org/nox |
| 86 | sudo apt-get install autoconf automake g++ libtool python python-twisted swig libboost-dev libxerces-c2-dev |
| 87 | libssl-dev make libboost-filesystem-dev libboost-test-dev python-dev |
| 88 | git checkout -b destiny origin/destiny |
| 89 | |
| 90 | Run a build: |
| 91 | ./boot.sh |
| 92 | mkdir build0.8 |
| 93 | cd build0.8 |
| 94 | ../configure |
| 95 | make |
| 96 | |
| 97 | This will build the destiny branch (latest and greatest) |
| 98 | |
| 99 | in the build dir run: |
| 100 | |
| 101 | ./nox_core -v -i ptcp:6633 routing |
| 102 | |
| 103 | or |
| 104 | |
| 105 | ./nox_core -v -i ptcp:6633 routing lavi_switches lavi_swlinks & |
| 106 | |
| 107 | for some debugging tools. |
| 108 | }} |