| 11 | |
| 12 | == Flowvisor == |
| 13 | |
| 14 | The flowvisor tool server as an intermediary between controllers. It splits traffic based on predefined rules. For our configuration we're running |
| 15 | flowvisor on SB9. While it is completely possible to complie your own flowvisor from scratch and install it in your home directory, a precompiled flowvisor is located in /opt. In order to properly steer the flowvisor tool, you must populate a flovisor-config.d directory with files that configure the flowvisor behavoir. For the purposes of this demo we'll be using these files: |
| 16 | |
| 17 | {{{ |
| 18 | bittorent.guest |
| 19 | default.switch |
| 20 | routing.guest |
| 21 | }}} |
| 22 | |
| 23 | The defualt file primes the flowvisor and contains only the following lines: |
| 24 | |
| 25 | {{{ |
| 26 | # For switches that do not have a their own, specific config file |
| 27 | Default: 1 |
| 28 | # Start numbering "default" switches at 10000 |
| 29 | Id: 10000 |
| 30 | }}} |
| 31 | |
| 32 | The routing.guest file directs production traffic to SNAC running on port 6634, it denies high numbered IP traffic from getting to port 6634: |
| 33 | |
| 34 | {{{ |
| 35 | Name: routing |
| 36 | ID: 1 |
| 37 | |
| 38 | Host: tcp:localhost:6634 |
| 39 | |
| 40 | # By default, with now "FlowSpace" param, this slice has |
| 41 | # permissions to affect all traffic |
| 42 | FlowSpace: deny: tp_src: 10001 |
| 43 | FlowSpace: deny: tp_dst: 10001 |
| 44 | FlowSpace: deny: tp_src: 10002 |
| 45 | FlowSpace: deny: tp_dst: 10002 |
| 46 | FlowSpace: deny: tp_src: 10003 |
| 47 | FlowSpace: deny: tp_dst: 10003 |
| 48 | FlowSpace: deny: tp_src: 10004 |
| 49 | FlowSpace: deny: tp_dst: 10004 |
| 50 | FlowSpace: deny: tp_src: 10005 |
| 51 | FlowSpace: deny: tp_dst: 10005 |
| 52 | |
| 53 | # limit 10000 == at most 10000 packet_in's per second == infinity |
| 54 | FlowSpace: allow: limit: 10000 |
| 55 | }}} |
| 56 | |
| 57 | Finally the bittorent.guest directs high numbered ip port traffic to a controller on 6635: |
| 58 | {{{ |
| 59 | Id: 1001 |
| 60 | Host: tcp:localhost:6635 |
| 61 | |
| 62 | FlowSpace: allow: tp_src: 10001 limit: 10000 |
| 63 | FlowSpace: allow: tp_dst: 10001 limit: 10000 |
| 64 | FlowSpace: allow: tp_src: 10002 limit: 10000 |
| 65 | FlowSpace: allow: tp_dst: 10002 limit: 10000 |
| 66 | FlowSpace: allow: tp_src: 10003 limit: 10000 |
| 67 | FlowSpace: allow: tp_dst: 10003 limit: 10000 |
| 68 | FlowSpace: allow: tp_src: 10004 limit: 10000 |
| 69 | FlowSpace: allow: tp_dst: 10004 limit: 10000 |
| 70 | FlowSpace: allow: tp_src: 10005 limit: 10000 |
| 71 | FlowSpace: allow: tp_dst: 10005 limit: 10000 |
| 72 | }}} |
| 73 | |
| 74 | == TESTS for connectivity == |
| 75 | |
| 76 | === The SNAC controller Web interface === |
| 77 | |
| 78 | The web interface for snac is accessible externally at http://sb9.orbit-lab.org (default credentials). |