| | 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). |