===================================
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.0
nc:capability>urn: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-
Port44Port45000
current-rate>5000upfalsefalsefalseupfalsetrue
100Mb-FDtruecopper
unsupportedothertruecopperunsupported100Mb-FDtruecopperunsupported100Mb-FDtruecopperunsupported
port>LogicalSwitch7-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
49943400900LogicalSwitch0025516777216truetruetruetruetruefalsefalseallcontrollerta
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:00true
enabled>false<
lost-connection-behavior>failSecureModeSwitch0-Default-Controllerequal127.0.0.16633tcpdown1.3LogicalSwitc
h0-Port2LogicalSwitch0-Port1LogicalSwitch0-Port2
-Queue991LogicalSwitch0-Port2-Queue992
switch>LogicalSwitch70
25516777216truetruetruetrue
group-statistics>truefalsefalseallcontrollertableinportanyallselectindirectfas
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-Port1upfalsefalsefalseothertruecopperunsupported
features>LogicalSwitch7-Port4upfalsefalsefalseothertrue
copperunsupported
port>LogicalSwitch7-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-Queue992
resources>LogicalSwitch708: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-FDtruecopperunsupportedLogicalSwitch0-Port11
Port150005000upfalse
falsefalseupfalsetrue
live>100Mb-FDtrue
auto-negotiate>copperunsupported<
advertised>othertruec
opperunsupported100Mb
-FDtruecopperunsupported100Mb-FDtruecopperunsupported<
/pause>LogicalSwitch
7-Port44Port45000
5000upfalsefalsefalseupfalsetrue100Mb-FDtruecopperunsupportedothertruecopperunsupported100Mb-FDtruecopperunsupported100Mb-FDtruecopperunsupported
LogicalSwitch7-Port33Port350005000upfalsefalsefalseupfalsetru
e100Mb-FDtru
ecopperunsupportedothertruecopperunsupported10
0Mb-FDtruecopperunsupported
100Mb-FD<
auto-negotiate>truecopperunsupport
edLogicalSw
itch0-Port2-Queue991991210120LogicalSwitch0-Port2-Queue992992210130LogicalSwitch7-Port3-Queue9939933200300LogicalSwitch7-Port3-Queue
9949943400900LogicalSwitch0025516777216truetruetruetruetruefalsefalseallcontroller
ableinportanyallselectindirectfast-fa
iloverselect-weightselect-livenesschainingoutputgroup
type>set-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.16633tcpdown1.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-ttl
type>copy-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.2
controllers>LogicalSwitch7-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-FDtruecopperunsupportedLogicalSwitch0-Port11
Port150005000downfalsefalsefalseupfalsetrue
100Mb-FDtrue
copperunsupportedothertruecopperunsupported100
Mb-FDtruecopperunsupported100Mb-FDtruecopperunsupporte
dLogicalSwit
ch7-Port44Port450
005000down<
/admin-state>falsefalsefalseupfalsetrue
100Mb-FDtruecopperunsupportedothertruecopperunsupported
100Mb-FDtrue
auto-negotiate>copperunsupported100Mb-FDtruecopperunsupportedLogicalSwitch7-Port33
number>Port350005000downfalsefalsefalse
configuration>upfalsetrue100Mb-FDtruecopperunsupported
current>othertrue
copperunsupported100Mb-FDtruecopperunsupported100Mb-FD
rate>truecopperuns
upportedLog
icalSwitch0-Port2-Queue991991210120LogicalSwitch0-Port2-Queue992992210130LogicalSwitch7-Port3-Queue9939933200
300LogicalSwitch7-Port3
-Queue9949943400<
/min-rate>900LogicalSwitch0025516777216
max-ports>truetruetruetru
etruefalsefalseallcontroller
tableinportany
allselectindirect
fast-failoverselect-we
ightselect-livenesschaini
ngoutput
groupset-queueset-mpls-ttldec-mpls-t
tlset-nw-ttldec-nw-ttlcopy-ttl-out
type>copy-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.16633
port>tcpdown1.3LogicalSwitch0-Port2LogicalSwitch0-Port
1LogicalSwitch0-Port2-Queue991LogicalSwitch0-P
ort2-Queue992LogicalSwitch70255
max-tables>16777216truetruetruetruetrue<
/queue-statistics>false<
block-looping-ports>falsea
llcontrollertableinport
anyallselect
type>indirectfast-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-actions
type>clear-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