diff --git a/doc/source/test-of-config-with-linc.rst b/doc/source/test-of-config-with-linc.rst new file mode 100644 index 00000000..743a0c54 --- /dev/null +++ b/doc/source/test-of-config-with-linc.rst @@ -0,0 +1,1779 @@ +=================================== +Testing OF-config support with LINC +=================================== + +This page describes how to setup LINC and test Ryu OF-config with it. + +The procedure is as follows. +Although all the procedure is written for reader's convenience, +please refer to LINC document for latest informations of LINC. + + https://github.com/FlowForwarding/LINC-Switch + +The test procedure + +* install Erlang environment +* build LINC +* configure LINC switch +* setup for LINC +* run LINC switch +* run Ryu test_of_config app + +For getting/installing Ryu itself, please refer to http://osrg.github.io/ryu/ + + +Install Erlang environment +========================== + +Since LINC is written in Erlang, you need to install Erlang execution +environment. Required version is R15B+. + +The easiest way is to use binary package from +https://www.erlang-solutions.com/downloads/download-erlang-otp + +The distribution may also provide Erlang package. + + +build LINC +========== + +install necessary packages for build +------------------------------------ + +install necessary build tools +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +On Ubuntu:: + + # apt-get install git-core bridge-utils libpcap0.8 libpcap-dev libcap2-bin uml-utilities + +On RedHat/CentOS:: + + # yum install git sudo bridge-utils libpcap libpcap-devel libcap tunctl + +Note that on RedHat/CentOS 5.x you need a newer version of libpcap:: + + # yum erase libpcap libpcap-devel + # yum install flex byacc + # wget http://www.tcpdump.org/release/libpcap-1.2.1.tar.gz + # tar xzf libpcap-1.2.1.tar.gz + # cd libpcap-1.2.1 + # ./configure + # make && make install + +get LINC repo and built +^^^^^^^^^^^^^^^^^^^^^^^ + +Clone LINC repo:: + + % git clone git://github.com/FlowForwarding/LINC-Switch.git + +Then compile everything:: + + % cd LINC-Switch + % make + +.. NOTE:: + At the time of this writing, test_of_config fails due to a bug of LINC. You can try this test with LINC which is built by the following methods. + + :: + + % cd LINC-Switch + % make + % cd deps/of_config + % git reset --hard f772af4b765984381ad024ca8e5b5b8c54362638 + % cd ../.. + % make offline + + +Setup LINC +========== + +edit LINC switch configuration file. ``rel/linc/releases/0.1/sys.config`` +Here is the sample sys.config for test_of_config.py to run. + +:: + + [{linc, + [{of_config,enabled}, + {capable_switch_ports, + [{port,1,[{interface,"linc-port"}]}, + {port,2,[{interface,"linc-port2"}]}, + {port,3,[{interface,"linc-port3"}]}, + {port,4,[{interface,"linc-port4"}]}]}, + {capable_switch_queues, + [ + {queue,991,[{min_rate,10},{max_rate,120}]}, + {queue,992,[{min_rate,10},{max_rate,130}]}, + {queue,993,[{min_rate,200},{max_rate,300}]}, + {queue,994,[{min_rate,400},{max_rate,900}]} + ]}, + {logical_switches, + [{switch,0, + [{backend,linc_us4}, + {controllers,[{"Switch0-Default-Controller","127.0.0.1",6633,tcp}]}, + {controllers_listener,{"127.0.0.1",9998,tcp}}, + {queues_status,enabled}, + {ports,[{port,1,{queues,[]}},{port,2,{queues,[991,992]}}]}]} + , + {switch,7, + [{backend,linc_us3}, + {controllers,[{"Switch7-Controller","127.0.0.1",6633,tcp}]}, + {controllers_listener,disabled}, + {queues_status,enabled}, + {ports,[{port,4,{queues,[]}},{port,3,{queues,[993,994]}}]}]} + ]}]}, + {enetconf, + [{capabilities, + [{base,{1,0}}, + {base,{1,1}}, + {startup,{1,0}}, + {'writable-running',{1,0}}]}, + {callback_module,linc_ofconfig}, + {sshd_ip,{127,0,0,1}}, + {sshd_port,1830}, + {sshd_user_passwords,[{"linc","linc"}]}]}, + {lager, + [{handlers, + [{lager_console_backend,debug}, + {lager_file_backend, + [{"log/error.log",error,10485760,"$D0",5}, + {"log/console.log",info,10485760,"$D0",5}]}]}]}, + {sasl, + [{sasl_error_logger,{file,"log/sasl-error.log"}}, + {errlog_type,error}, + {error_logger_mf_dir,"log/sasl"}, + {error_logger_mf_maxbytes,10485760}, + {error_logger_mf_maxfiles,5}]}, + {sync,[{excluded_modules,[procket]}]}]. + + +setup for LINC +============== + +As the above sys.config requires some network interface, create them:: + + # ip link add linc-port type veth peer name linc-port-peer + # ip link set linc-port up + # ip link add linc-port2 type veth peer name linc-port-peer2 + # ip link set linc-port2 up + # ip link add linc-port3 type veth peer name linc-port-peer3 + # ip link set linc-port3 up + # ip link add linc-port4 type veth peer name linc-port-peer4 + # ip link set linc-port4 up + +After stopping LINC, those created interfaces can be deleted:: + + # ip link delete linc-port + # ip link delete linc-port2 + # ip link delete linc-port3 + # ip link delete linc-port4 + + +Starting LINC OpenFlow switch +============================= + +Then run LINC:: + + # rel/linc/bin/linc console + + +Run Ryu test_of_config app +========================== + +Run test_of_config app:: + + # ryu-manager --verbose ryu.tests.integrated.test_of_config ryu.app.rest + +If you don't install ryu and are working in the git repo directly:: + + # PYTHONPATH=. ./bin/ryu-manager --verbose ryu.tests.integrated.test_of_config ryu.app.rest + +Here is the sample output + +:: + + kuma% PYTHONPATH=. ./bin/ryu-manager --verbose ryu.tests.integrated.test_of_config ryu.app.rest + loading app ryu.tests.integrated.test_of_config + loading app ryu.app.rest + creating context wsgi + instantiating app None of Network + creating context network + instantiating app ryu.app.rest of RestAPI + instantiating app ryu.tests.integrated.test_of_config of OFConfigClient + created: client_capabilities=['urn:ie + tf:params:netconf:capability:writable-running:1.0','urn:ietf:params:netconf + :capability:rollback-on-error:1.0', 'urn:ietf:params:netconf:capability:val + idate:1.0', 'urn:ietf:params:netconf:capability:confirmed-commit:1.0', 'urn + :ietf:params:netconf:capability:url:1.0?scheme=http,ftp,file,https,sftp', ' + urn:ietf:params:netconf:base:1.0', 'urn:liberouter:params:netconf:capabilit + y:power-control:1.0', 'urn:ietf:params:netconf:capability:candidate:1.0', ' + urn:ietf:params:netconf:capability:xpath:1.0', 'urn:ietf:params:netconf:cap + ability:startup:1.0', 'urn:ietf:params:netconf:capability:interleave:1.0'] + Unable to handle key of type ecdsa-sha2-nistp256 + Unable to handle key of type ecdsa-sha2-nistp256 + Unable to handle key of type ecdsa-sha2-nistp256 + Unable to handle key of type ecdsa-sha2-nistp256 + Unable to handle key of type ecdsa-sha2-nistp256 + Unable to handle key of type ecdsa-sha2-nistp521 + Unable to handle key of type ecdsa-sha2-nistp256 + Unable to handle key of type ecdsa-sha2-nistp521 + Unable to handle key of type ecdsa-sha2-nistp256 + Unable to handle key of type ecdsa-sha2-nistp256 + starting thread (client mode): 0xf0d2f890L + Connected (version 2.0, client Erlang) + kex algos:['diffie-hellman-group1-sha1'] server key:['ssh-rsa', 'ssh-dss'] + client encrypt:['aes128-cbc', '3des-cbc'] server encrypt:['aes128-cbc', '3d + es-cbc'] client mac:['hmac-sha1'] server mac:['hmac-sha1'] client compress: + ['none', 'zlib'] server compress:['none', 'zlib'] client lang:[''] server l + ang:[''] kex follows?False + Ciphers agreed: local=aes128-cbc, remote=aes128-cbc + using kex diffie-hellman-group1-sha1; server key type ssh-rsa; cipher: loca + l aes128-cbc, remote aes128-cbc; mac: local hmac-sha1, remote hmac-sha1; co + mpression: local none, remote none + Switch to new keys ... + Not a valid RSA private key file (bad ber encoding) + userauth is OK + Authentication (password) successful! + [chan 1] Max packet in: 34816 bytes + [chan 1] Max packet out: 32768 bytes + Secsh channel 1 opened. + [chan netconf] Sesch channel 1 request ok + installing listener + queueing + urn:ietf:params:netconf:capability:writable-running:1.0urn:ietf:params:netconf:capability:rollback-on + -error:1.0urn:ietf:params:netconf:capability + :validate:1.0urn:ietf:params:netconf:capabil + ity:confirmed-commit:1.0urn:ietf:params:netc + onf:capability:url:1.0?scheme=http,ftp,file,https,sftpurn:ietf:params:netconf:base:1.0ur + n:liberouter:params:netconf:capability:power-control:1.0urn:ietf:params:netconf:capability:candidate:1.0urn:ietf:params:netconf:capability:xpath:1.0urn:ietf:params:netconf:capability:startup:1.0urn:ietf:params:netconf:capability:interleave:1.0 + starting main loop + Sending message + parsed new message + dispatching message to : urn:ietf:params + :netconf:base:1.0urn:ietf:params:netconf:base:1.1< + /capability>urn:ietf:params:netconf:capability:startup:1.0urn:ietf:params:netconf:capability:writable-running:1.0 + 1 + discarding listener + initialized: session-id=1 | server_capabilities=['urn:ietf:params:netconf:c + apability:startup:1.0', 'urn:ietf:params:netconf:capability:writable-runnin + g:1.0', 'urn:ietf:params:netconf:base:1.0', 'urn:ietf:params:netconf:base:1 + .1'] + BRICK RestAPI + BRICK OFConfigClient + BRICK network + installing listener + Requesting 'Get' + queueing + + Sync request, will wait for timeout=30 + (8836) wsgi starting up on http://0.0.0.0:8080/ + Sending message + parsed new message + dispatching message to : CapableSwitch0LogicalSwitch0-Por + t22Port250005000upfalsefalsefalseupfalsetrue100 + Mb-FDtruecopperunsupportedothertruecopperunsupported< + /advertised>100Mb-FDtruecopperunsupported100Mb-FDtrue + copperunsupportedLogicalSwitch0-Port11Port150005000< + configuration>upfalsefalsefalseupfalsetrue100Mb-FDtruecopperunsupportedothertruecop + perunsupported100Mb-F + Dtruecopper + unsupported100Mb-FDtruecopperunsupported

LogicalSwitch7- + Port44Port450005000upfalsefalsefalseupfalsetrue + 100Mb-FDtruecopper + unsupportedothertruecopperunsupported100Mb-FDtruecopperunsupported100Mb-FDtruecopperunsupportedLogicalSwitch7-Port33Port350005000upfalsefalsefalseupfalsetrue< + /live>100Mb-FDtrue< + /auto-negotiate>copperunsupported + othertrue + copperunsupported100M + b-FDtruecopperunsupported100Mb-FDtruecopperunsupported + LogicalSwit + ch0-Port2-Queue991991210120LogicalSwitch0-Port2-Queue992992210130< + /queue>LogicalSwitch7-Port3-Queue9939 + 933200300LogicalSwitch7-Port3-Queue99 + 49943400900
LogicalSwitch0025516777216truetruetruetruetruefalsefalseallcontrollerta + bleinportanyallselectindirectfast-fai + loverselect-weightselect-livenesschainingoutputgroupset-queueset-mpls-ttldec-mpls-ttlset-nw-ttldec-nw-ttlcopy-ttl-outcopy-ttl-inpush-vlanpop-vlanpush- + mplspop-mplspush-pbbpop-pbbset-fieldgoto-tablewrite-metadatawrite-actionsapply-actions< + /type>clear-actionsmeter08:60:6E:7F:74:E7:00:00truefalse< + lost-connection-behavior>failSecureModeSwitch0-Default-Controllerequal127.0.0.16633tcpdown1.3LogicalSwitc + h0-Port2LogicalSwitch0-Port1LogicalSwitch0-Port2 + -Queue991LogicalSwitch0-Port2-Queue992LogicalSwitch70 + 25516777216truetruetruetruetruefalsefalseallcontrollertableinportanyallselectindirectfas + t-failoverselect-weigh + tselect-livenesschaining< + /capability>outputgro + upset-queueset-mpls-ttldec-mpls-ttl< + /type>set-nw-ttldec-nw-ttlcopy-ttl-outcopy-ttl-inpush-vlanpop-vlan + push-mplspop-mplsset-field< + instruction-types>goto-tablewrite-metadataw + rite-actionsapply-actionsclear-actions08:60:6E:7F:74:E7:00:07truefalsefailSecureModeSwitch7-Controllerequal + 127.0.0.16633tcpdown + 1.2LogicalSwitch7-Port4LogicalSwitch7-Port3Logical + Switch7-Port3-Queue993LogicalSwitch7-Port3-Queue994< + /resources>
+ Delivering to + Traceback (most recent call last): + File "/nfs/eos-fs.nfskuro/git/ryu/ryu/tests/integrated/test_of_config.py" + , line 226, in _validate + xmlschema.assertValid(tree) + File "lxml.etree.pyx", line 3303, in lxml.etree._Validator.assertValid (s + rc/lxml/lxml.etree.c:159771) + DocumentInvalid: Element '{urn:onf:of111:config:yang}type': [facet 'enumera + tion'] The value 'push-pbb' is not an element of the set {'output', 'copy-t + tl-out', 'copy-ttl-in', 'set-mpls-ttl', 'dec-mpls-ttl', 'push-vlan', 'pop-v + lan', 'push-mpls', 'pop-mpls', 'set-queue', 'group', 'set-nw-ttl', 'dec-nw- + ttl', 'set-field'}., line 2 + set(['urn:onf:of111:config:yang']) + source = running + Requesting 'GetConfig' + queueing + + Sync request, will wait for timeout=30 + Sending message + parsed new message + dispatching message to : CapableSwitch0LogicalSwitch0-Por + t2upfal + sefalsefalseothertruecopperunsupportedLogicalSwitch0-Port1upfalsefalsefalseothertruecopperunsupportedLogicalSwitch7-Port4upfalsefalsefalseothertrue + copperunsupportedLogicalSwitch7-Port3upfalsefalse< + /no-forward>falseothertruecop + perunsupportedLogicalSwitch0-Port2-Queue99110120LogicalSwitch0-Port2-Queue99210< + /min-rate>130 + LogicalSwitch7-Port3-Queue993200300Logica + lSwitch7-Port3-Queue994400900LogicalSwitch008:60:6E:7F:74:E7:00:00Switch0-Default-Controllerequal< + /role>127.0.0.16633tcpdown1 + .3 + LogicalSwitch0-Port2LogicalSwitch0-Port1LogicalS + witch0-Port2-Queue991LogicalSwitch0-Port2-Queue992LogicalSwitch708:60:6E:7F: + 74:E7:00:07Switch7-Controllerequal127.0.0.16633tcpdown1.2LogicalSwitch7-Port4LogicalSwitch7-Port3< + queue>LogicalSwitch7-Port3-Queue993LogicalSwitch7-Port3-Queu + e994 + Delivering to + source = startup + Requesting 'GetConfig' + queueing + + Sync request, will wait for timeout=30 + Sending message + parsed new message + dispatching message to : CapableSwitch0LogicalSwitch7-Por + t4upfal + sefalsefalse100Mb-FDtruecopperunsupported< + /advertised>LogicalSwitch7-Port3upfalsefalsefalse100Mb-FDtrue + copperunsupportedLogicalSwitch0-Port1 + upfalse< + no-forward>falsefalse100Mb-FDtruecopperunsupportedLogicalSwitch0-Port2upfalsefalsefalse100Mb-FDtruecopperunsupported< + /port>LogicalSwitch7-Port3-Queue994400900 + LogicalSwitch7-Port3-Queue993 + 200300LogicalSwitch0-Port2-Queue99210130LogicalSwitch0-Port2-Queue99110< + /min-rate>120LogicalSwitch708:60:6E:7F:74:E7:00: + 07LogicalSwitch7-Port4< + port>LogicalSwitch7-Port3LogicalSwitch7-Port3-Queue994LogicalSwitch7-Port3-Queue993< + id>LogicalSwitch008:60:6E:7F:74:E7:00:00LogicalSwitch0-Port1LogicalSwitch0 + -Port2LogicalSwitch0-Port2-Queue992LogicalSwit + ch0-Port2-Queue991 + Delivering to + Traceback (most recent call last): + File "/nfs/eos-fs.nfskuro/git/ryu/ryu/tests/integrated/test_of_config.py" + , line 226, in _validate + xmlschema.assertValid(tree) + File "lxml.etree.pyx", line 3303, in lxml.etree._Validator.assertValid (s + rc/lxml/lxml.etree.c:159771) + DocumentInvalid: Element '{urn:onf:of111:config:yang}controllers': Missing + child element(s). Expected is ( {urn:onf:of111:config:yang}controller )., l + ine 2 + source = candidate + Requesting 'GetConfig' + queueing + + Sync request, will wait for timeout=30 + Sending message + parsed new message + dispatching message to : invalid-valueapplicationerror + Delivering to + Traceback (most recent call last): + File "/nfs/eos-fs.nfskuro/git/ryu/ryu/tests/integrated/test_of_config.py" + , line 315, in _do_of_config + self._do_get_config('candidate') + File "/nfs/eos-fs.nfskuro/git/ryu/ryu/tests/integrated/test_of_config.py" + , line 246, in _do_get_config + config_xml = self.switch.raw_get_config(source) + File "/nfs/eos-fs.nfskuro/git/ryu/ryu/lib/of_config/capable_switch.py", l + ine 102, in raw_get_config + reply = self.netconf.get_config(source, filter) + File "/nfs/eos-fs.nfskuro/git/ryu/ryu/contrib/ncclient/manager.py", line + 78, in wrapper + return self.execute(op_cls, *args, **kwds) + File "/nfs/eos-fs.nfskuro/git/ryu/ryu/contrib/ncclient/manager.py", line + 132, in execute + raise_mode=self._raise_mode).request(*args, **kwds) + File "/nfs/eos-fs.nfskuro/git/ryu/ryu/contrib/ncclient/operations/retriev + e.py", line 87, in request + return self._request(node) + File "/nfs/eos-fs.nfskuro/git/ryu/ryu/contrib/ncclient/operations/rpc.py" + , line 289, in _request + raise self._reply.error + RPCError: {'info': None, 'severity': 'error', 'tag': 'invalid-value', 'path + ': None, 'message': None, 'type': 'application'} + Requesting 'EditConfig' + queueing + + + CapableSwitch0 + + + LogicalSwitch0-Port2 + + down + false + false + false + + + + + + Sync request, will wait for timeout=30 + Sending message + parsed new message + dispatching message to : + Delivering to + Requesting 'EditConfig' + queueing + + + CapableSwitch0 + + + LogicalSwitch0-Port2 + + + 10Mb-FD + true + copper + unsupported + + + + + + + Sync request, will wait for timeout=30 + Sending message + parsed new message + dispatching message to : + Delivering to + Requesting 'EditConfig' + queueing + + + CapableSwitch0 + + + LogicalSwitch0 + + + Switch0-DefaultController + master + 127.0.0.1 + 6633 + tcp + + + + + + + Sync request, will wait for timeout=30 + Sending message + parsed new message + dispatching message to : + Delivering to + Requesting 'Get' + queueing + + Sync request, will wait for timeout=30 + Sending message + parsed new message + dispatching message to : CapableSwitch0LogicalSwitch0-Por + t22Port250005000downfalsefalsefalseup + falsetrue1 + 00Mb-FDtruecopper< + pause>unsupportedothertruecopperunsupported100Mb-FDtruecopperunsupported100Mb-FDtruecopperunsupported

LogicalSwitch0-Port11 + Port150005000upfalse + falsefalseupfalsetrue100Mb-FDtruecopperunsupported< + advertised>othertruec + opperunsupported100Mb + -FDtruecopperunsupported100Mb-FDtruecopperunsupported< + /pause>LogicalSwitch + 7-Port44Port45000 + 5000upfalsefalsefalseupfalsetrue100Mb-FDtruecopperunsupportedothertruecopperunsupported100Mb-FDtruecopperunsupported100Mb-FDtruecopperunsupported + LogicalSwitch7-Port33Port350005000upfalsefalsefalseupfalsetru + e100Mb-FDtru + ecopperunsupportedothertruecopperunsupported10 + 0Mb-FDtruecopper

unsupported100Mb-FD< + auto-negotiate>truecopperunsupport + edLogicalSw + itch0-Port2-Queue991991210120LogicalSwitch0-Port2-Queue9929922

10130LogicalSwitch7-Port3-Queue9939933200300LogicalSwitch7-Port3-Queue + 9949943400900
LogicalSwitch0025516777216truetruetruetruetruefalsefalseallcontroller + ableinportanyallselectindirectfast-fa + iloverselect-weightselect-livenesschainingoutputgroupset-queueset-mpls-ttldec-mpls-ttlset-nw-ttldec-nw-ttlcopy-ttl-outcopy-ttl-inpush-vlanpop-vlanpush + -mplspop-mplspush-pbbpop-pbb< + type>set-fieldgoto-tablewrite-metadatawrite-actionsapply-actions + clear-actionsmeter08:60:6E:7F:74:E7:00:00true< + /enabled>false + failSecureModeSwitch0-DefaultControllerequal127.0.0.16633tcpdown1.3Switch0-Default-Controller< + /id>equal127.0.0.16633

tcpdown1.3< + resources>LogicalSwitch0-Port2LogicalSwitch0-Port1LogicalSwitch0-Port2-Queue991LogicalSwitch0-Port2-Qu + eue992LogicalSwitch7025516777216true< + table-statistics>truetruetruetruefalsefalseallcontrollertableinportanyallselectindirectfast-failoverselect-weightselect-livenesschaining + outputgroupset-queueset-mpls-t + tldec-mpls-ttlset-nw-ttldec-nw-ttlcopy-ttl-outcopy-ttl-inpush-vlanpop-vlanpush-mplspop-mplsset- + fieldgoto-table + write-metadatawrite-actionsapply-actionsclear-actions08: + 60:6E:7F:74:E7:00:07truefalsef + ailSecureModeSwitch + 7-Controllerequal127.0.0.1 + 6633tcpdown1.2LogicalSwitch7-Port4LogicalSwitch + 7-Port3LogicalSwitch7-Port3-Queue993LogicalSwi + tch7-Port3-Queue994 + Delivering to + Traceback (most recent call last): + File "/nfs/eos-fs.nfskuro/git/ryu/ryu/tests/integrated/test_of_config.py" + , line 226, in _validate + xmlschema.assertValid(tree) + File "lxml.etree.pyx", line 3303, in lxml.etree._Validator.assertValid (s + rc/lxml/lxml.etree.c:159771) + DocumentInvalid: Element '{urn:onf:of111:config:yang}type': [facet 'enumera + tion'] The value 'push-pbb' is not an element of the set {'output', 'copy-t + tl-out', 'copy-ttl-in', 'set-mpls-ttl', 'dec-mpls-ttl', 'push-vlan', 'pop-v + lan', 'push-mpls', 'pop-mpls', 'set-queue', 'group', 'set-nw-ttl', 'dec-nw- + ttl', 'set-field'}., line 2 + set(['urn:onf:of111:config:yang']) + + CapableSwitch0 + + + LogicalSwitch0-Port2 + 2 + Port2 + 5000 + 5000 + + down + false + false + false + + + up + false + true + + + + 100Mb-FD + true + copper + unsupported + + + other + true + copper + unsupported + + + 100Mb-FD + true + copper + unsupported + + + 100Mb-FD + true + copper + unsupported + + + + + LogicalSwitch0-Port1 + 1 + Port1 + 5000 + 5000 + + up + false + false + false + + + up + false + true + + + + 100Mb-FD + true + copper + unsupported + + + other + true + copper + unsupported + + + 100Mb-FD + true + copper + unsupported + + + 100Mb-FD + true + copper + unsupported + + + + + LogicalSwitch7-Port4 + 4 + Port4 + 5000 + 5000 + + up + false + false + false + + + up + false + true + + + + 100Mb-FD + true + copper + unsupported + + + other + true + copper + unsupported + + + 100Mb-FD + true + copper + unsupported + + + 100Mb-FD + true + copper + unsupported + + + + + LogicalSwitch7-Port3 + 3 + Port3 + 5000 + 5000 + + up + false + false + false + + + up + false + true + + + + 100Mb-FD + true + copper + unsupported + + + other + true + copper + unsupported + + + 100Mb-FD + true + copper + unsupported + + + 100Mb-FD + true + copper + unsupported + + + + + LogicalSwitch0-Port2-Queue991 + 991 + 2 + + 10 + 120 + + + + LogicalSwitch0-Port2-Queue992 + 992 + 2 + + 10 + 130 + + + + LogicalSwitch7-Port3-Queue993 + 993 + 3 + + 200 + 300 + + + + LogicalSwitch7-Port3-Queue994 + 994 + 3 + + 400 + 900 + + + + + + LogicalSwitch0 + + 0 + 255 + 16777216 + true + true + true + true + true + false + false + + all + controller + table + inport + any + + + all + select + indirect + fast-failover + + + select-weight + select-liveness + chaining + + + output + group + set-queue + set-mpls-ttl + dec-mpls-ttl + set-nw-ttl + dec-nw-ttl + copy-ttl-out + copy-ttl-in + push-vlan + pop-vlan + push-mpls + pop-mpls + push-pbb + pop-pbb + set-field + + + goto-table + write-metadata + write-actions + apply-actions + clear-actions + meter + + + 08:60:6E:7F:74:E7:00:00 + true + false + failSecureMode + + + Switch0-DefaultController + equal + 127.0.0.1 + 6633 + tcp + + down + 1.3 + + + + Switch0-Default-Controller + equal + 127.0.0.1 + 6633 + tcp + + down + 1.3 + + + + + LogicalSwitch0-Port2 + LogicalSwitch0-Port1 + LogicalSwitch0-Port2-Queue991 + LogicalSwitch0-Port2-Queue992 + + + + LogicalSwitch7 + + 0 + 255 + 16777216 + true + true + true + true + true + false + false + + all + controller + table + inport + any + + + all + select + indirect + fast-failover + + + select-weight + select-liveness + chaining + + + output + group + set-queue + set-mpls-ttl + dec-mpls-ttl + set-nw-ttl + dec-nw-ttl + copy-ttl-out + copy-ttl-in + push-vlan + pop-vlan + push-mpls + pop-mpls + set-field + + + goto-table + write-metadata + write-actions + apply-actions + clear-actions + + + 08:60:6E:7F:74:E7:00:07 + true + false + failSecureMode + + + Switch7-Controller + equal + 127.0.0.1 + 6633 + tcp + + down + 1.2 + + + + + LogicalSwitch7-Port4 + LogicalSwitch7-Port3 + LogicalSwitch7-Port3-Queue993 + LogicalSwitch7-Port3-Queue994 + + + + + + + LogicalSwitch0-Port2 + 2 + Port2 + 5000 + 5000 + + down + false + false + false + + + up + false + true + + + + 100Mb-FD + true + copper + unsupported + + + other + true + copper + unsupported + + + 100Mb-FD + true + copper + unsupported + + + 100Mb-FD + true + copper + unsupported + + + + + + LogicalSwitch0-Port1 + 1 + Port1 + 5000 + 5000 + + up + false + false + false + + + up + false + true + + + + 100Mb-FD + true + copper + unsupported + + + other + true + copper + unsupported + + + 100Mb-FD + true + copper + unsupported + + + 100Mb-FD + true + copper + unsupported + + + + + + LogicalSwitch7-Port4 + 4 + Port4 + 5000 + 5000 + + up + false + false + false + + + up + false + true + + + + 100Mb-FD + true + copper + unsupported + + + other + true + copper + unsupported + + + 100Mb-FD + true + copper + unsupported + + + 100Mb-FD + true + copper + unsupported + + + + + + LogicalSwitch7-Port3 + 3 + Port3 + 5000 + 5000 + + up + false + false + false + + + up + false + true + + + + 100Mb-FD + true + copper + unsupported + + + other + true + copper + unsupported + + + 100Mb-FD + true + copper + unsupported + + + 100Mb-FD + true + copper + unsupported + + + + + Requesting 'EditConfig' + queueing + + + CapableSwitch0 + + + LogicalSwitch0-Port2 + + down + + + + LogicalSwitch0-Port1 + + down + + + + LogicalSwitch7-Port4 + + down + + + + LogicalSwitch7-Port3 + + down + + + + + + Sync request, will wait for timeout=30 + Sending message + parsed new message + dispatching message to : + Delivering to + Requesting 'Get' + queueing + + Sync request, will wait for timeout=30 + Sending message + parsed new message + dispatching message to : CapableSwitch0LogicalSwitch0-Por + t22Port250005000downfalsefalsefalseup + falsetrue1 + 00Mb-FDtruecopper< + pause>unsupportedothertruecopperunsupported100Mb-FDtruecopperunsupported100Mb-FDtruecopperunsupported

LogicalSwitch0-Port11 + Port150005000downfalsefalsefalseupfalsetrue + 100Mb-FDtrue + copperunsupportedothertruecopperunsupported100 + Mb-FDtruecopperunsupported100Mb-FD
truecopperunsupporte + dLogicalSwit + ch7-Port44Port450 + 005000down< + /admin-state>falsefalsefalseupfalsetrue + 100Mb-FDtruecopperunsupportedothertruecopperunsupported + 100Mb-FDtruecopperunsupported100Mb-FDtruecopperunsupportedLogicalSwitch7-Port33Port350005000downfalsefalsefalseupfalse
  • true100Mb-FDtruecopperunsupportedothertrue + copperunsupported100Mb-FDtruecopperunsupported100Mb-FDtruecopperuns + upportedLog + icalSwitch0-Port2-Queue991991210120LogicalSwitch0-Port2-Queue992992210130LogicalSwitch7-Port3-Queue9939933200 + 300LogicalSwitch7-Port3 + -Queue9949943400< + /min-rate>900LogicalSwitch0025516777216truetruetruetru + etruefalsefalseallcontroller + tableinportany + allselectindirect + fast-failoverselect-we + ightselect-livenesschaini + ngoutput + groupset-queueset-mpls-ttldec-mpls-t + tlset-nw-ttldec-nw-ttlcopy-ttl-outcopy-ttl-inpush-vlanpop-vlanpush-mplspop-mplspush-pbbpop-pbb< + /type>set-fieldgoto-ta + blewrite-metadatawrite-actionsapply- + actionsclear-actionsmeter08:60:6E:7F:74:E7:00:00truefalsefailSecureMode< + controllers>Switch0-DefaultControllerequal127.0.0.16633tcpdown1.3Switch0-Default-Cont + rollerequal127.0.0.16633tcpdown1.3LogicalSwitch0-Port2LogicalSwitch0-Port + 1LogicalSwitch0-Port2-Queue991LogicalSwitch0-P + ort2-Queue992LogicalSwitch7025516777216truetruetruetruetrue< + /queue-statistics>false< + block-looping-ports>falsea + llcontrollertableinport + anyallselectindirectfast-failoverselect-weightselect-livenes + schainingoutputgroupset-queueset + -mpls-ttldec-mpls-ttlset-nw-ttldec-n + w-ttlcopy-ttl-outcopy-ttl-inpush-vla + npop-vlanpush-mplspop-mplsset-fieldgoto-tablewrite-metadatawrite-actionsapply-actionsclear-actions08:60:6E:7F:74:E7:00:07truefalsefailSecureModeSwitch7-Controllerequal127.0.0.16633tcpdown1.2LogicalSwitch7-Port4Logica + lSwitch7-Port3LogicalSwitch7-Port3-Queue993Log + icalSwitch7-Port3-Queue994< + /capable-switch> + Delivering to + Traceback (most recent call last): + File "/nfs/eos-fs.nfskuro/git/ryu/ryu/tests/integrated/test_of_config.py" + , line 226, in _validate + xmlschema.assertValid(tree) + File "lxml.etree.pyx", line 3303, in lxml.etree._Validator.assertValid (s + rc/lxml/lxml.etree.c:159771) + DocumentInvalid: Element '{urn:onf:of111:config:yang}type': [facet 'enumera + tion'] The value 'push-pbb' is not an element of the set {'output', 'copy-t + tl-out', 'copy-ttl-in', 'set-mpls-ttl', 'dec-mpls-ttl', 'push-vlan', 'pop-v + lan', 'push-mpls', 'pop-mpls', 'set-queue', 'group', 'set-nw-ttl', 'dec-nw- + ttl', 'set-field'}., line 2 + set(['urn:onf:of111:config:yang']) + + LogicalSwitch0-Port2 + 2 + Port2 + 5000 + 5000 + + down + false + false + false + + + up + false + true + + + + 100Mb-FD + true + copper + unsupported + + + other + true + copper + unsupported + + + 100Mb-FD + true + copper + unsupported + + + 100Mb-FD + true + copper + unsupported + + + + + + LogicalSwitch0-Port1 + 1 + Port1 + 5000 + 5000 + + down + false + false + false + + + up + false + true + + + + 100Mb-FD + true + copper + unsupported + + + other + true + copper + unsupported + + + 100Mb-FD + true + copper + unsupported + + + 100Mb-FD + true + copper + unsupported + + + + + + LogicalSwitch7-Port4 + 4 + Port4 + 5000 + 5000 + + down + false + false + false + + + up + false + true + + + + 100Mb-FD + true + copper + unsupported + + + other + true + copper + unsupported + + + 100Mb-FD + true + copper + unsupported + + + 100Mb-FD + true + copper + unsupported + + + + + + LogicalSwitch7-Port3 + 3 + Port3 + 5000 + 5000 + + down + false + false + false + + + up + false + true + + + + 100Mb-FD + true + copper + unsupported + + + other + true + copper + unsupported + + + 100Mb-FD + true + copper + unsupported + + + 100Mb-FD + true + copper + unsupported + + + + + Requesting 'CloseSession' + queueing + + Sync request, will wait for timeout=30 + Sending message + parsed new message + dispatching message to : + Delivering to + EOF in transport thread + Broke out of main loop, error=SessionCloseError('Unexpected session close', + ) + dispatching error to diff --git a/doc/source/tests.rst b/doc/source/tests.rst index da58f0ec..fccba321 100644 --- a/doc/source/tests.rst +++ b/doc/source/tests.rst @@ -5,3 +5,4 @@ Tests .. toctree:: test-vrrp.rst + test-of-config-with-linc.rst